PROCÉDÉ D'AUTHENTIFIECATION UNIVERSELLE DE DOCUMENTS
La présente invention se rapporte au domaine de l'intégrité, de la confidentialité et de la sécurisation des documents électroniques .
La présente invention se rapporte plus particulièrement à un procédé de sécurisation par formatage spécifique des documents électroniques, quel que soit le format initial du document. Ce procédé permet également un contrôle de l'accès efficace au document. Le problème technique majeur qui se pose dans le domaine de la sécurisation des documents électroniques est le maintien de l'intégrité du contenu d'un fichier initial.
Dans le domaine de la sécurisation des documents, l'art antérieur connaît déjà par la demande EP 1 320 010 un format spécifique de données sécurisées pour le contrôle d'accès. Selon un mode de réalisation de ce document, un fichier sécurisé est composé de deux parties : une en-tête (ou header) et un document crypté. L' en-tête inclut les informations de sécurité qui comporte les règles d'accès au document et une clé attachée au fichier. Les règles d'accès au document sécurisé facilitent l'accès restreint et déterminent essentiellement comment/où/quand/par qui le document est accessible. La clé associée au fichier est utilisée pour crypter et décrypter la portion du document correspondant aux données cryptées. Seuls les utilisateurs ayant un privilège d'accès au document ont la possibilité de récupérer la clé pour lire le document crypté.
L'inconvénient majeur d'un tel format de sécurisation est l'absence de certificats permettant d'authentifier les
différentes personnes ayant eu accès au document. Les documents de l'art antérieur ne permettent pas non plus une traçabilité satisfaisantes des consultations et modifications des documents électroniques
La présente invention entend remédier aux inconvénients de l'art antérieur en permettant la sécurisation d'un document par formatage spécifique tout en maintenant l'intégrité absolue du document initial. Avec le format défini par l'invention, le texte de l'écrit électronique n'est pas dissocié des différents certificats d'authenticité. Ainsi, toute modification, substitution ou suppression du document ainsi que des certificats est décelable immédiatement .
Pour ce faire, la présente invention est du type décrit ci-dessus et elle est remarquable dans son acception la plus large, en ce qu'elle concerne un procédé de génération d'un fichier authentifié par une application informatique à partir d'un écrit électronique pour le contrôle de l'accès audit fichier authentifié, caractérisé en ce qu'il comprend au moins les étapes consistant à : générer un premier ensemble de données sous forme d' entête; - générer un second ensemble de données représentant au moins une partie dudit écrit électronique dans un des deux formats suivants : • format ASCII • format binaire - générer un troisième ensemble de données comprenant au moins une information correspondant à au moins un identifiant de ladite application informatique.
De préférence, ledit troisième ensemble de données comprend une information correspondant à un horodatage (interne ou externe) de la mise en œuvre dudit procédé.
Avantageusement, ledit identifiant de ladite application informatique comprend au moins une empreinte d'un certificat numérique de ladite application informatique. De préférence, ledit troisième ensemble de données comprend un hashage dudit identifiant de ladite application informatique .
Selon un mode de mise en oeuvre, ledit troisième ensemble de données comprend un hashage de l'ensemble de données constitué par ledit identifiant et ledit deuxième ensemble de données .
Selon un mode de réalisation, ledit troisième ensemble de données comprend un hashage de l'ensemble de données constitué par ledit identifiant, ledit deuxième ensemble de données et ledit premier ensemble de données .
De préférence, ledit identifiant de ladite application informatique comprend au moins un identifiant de l'utilisateur de ladite application informatique.
De préférence, ledit identifiant de ladite application informatique comprend au moins une signature numérique de l'utilisateur de ladite application informatique.
Selon une variante, ledit premier ensemble de données comprend le numéro de version de ladite application informatique . De préférence, ledit premier ensemble de données comprend le type d'extension dudit écrit électronique.
Avantageusement, ledit premier ensemble de donnée comprend le type de confidentialité exigée pour ledit document identifié.
De préférence, ledit procédé comprend en outre une étape d'enregistrement dudit fichier authentifié avec une extension correspondant à ladite application informatique. Avantageusement, ledit identifiant de ladite application informatique comprend au moins un identifiant du matériel informatique sur lequel ladite application informatique est installée. On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées où : la figure 1 illustre le principe général de d' authentification et de signature d'un écrit électronique selon l'invention ; - la figure 2 illustre une représentation d'un document original «.aud®» en différents sous-ensembles ; la figure 3 illustre la procédure de signature multiple blocs de l'écrit à signer ; - la figure 4 illustre une représentation d'un document signé -c.aud ;
- la figure 5 illustre une représentation d'un document signé -c.aud après l'insertion d'un cachet ; - la figure 6 illustre un mode de création d'un fichier . aud® ; - la figure 7 illustre un exemple de traitement du dernier bloc dans la création d'un fichier .aud® ; - la figure 8 illustre le traitement final du dernier bloc dans le cas où le bloc final a une taille supérieure à 65536 octets ; - la figure 9 illustre le traitement final du dernier bloc dans le cas où le bloc final à une taille inférieure à 65536 octets mais supérieure en ajoutant les signatures et le padding ; - la figure 10 illustre le traitement final du dernier bloc dans le cas où le bloc final a une taille inférieure à
65536 octets.
LΛétape initiale du procédé est l'installation sur le poste d'un utilisateur d'une application informatique spécifique A. Afin d'associer le hardware utilisé et l'utilisateur à cette application informatique, celui-ci saisit préalablement une fiche de renseignement correspondant à son identité professionnelle ou privée. Notons qu'une telle fiche peut correspondre à un particulier, à une entreprise privée ou à une profession libérale, etc. C'est une fiche d'identification de l'utilisateur de la licence du logiciel .
L'enregistrement de la licence de l'utilisateur et du logiciel correspond à une liste d'informations (AuDIds) comprenant par exemple les champs suivants dans le cas d'une «fiche» particulier :
Numéro de licence et provenance de l'application informatique utilisée Nom de l'utilisateur Prénom de l'utilisateur - Adresse de l'utilisateur Adresse électronique de l'utilisateur Différentes données calculées comme le numéro de série du disque, le numéro Mac de la carte Ethernet... Cette fiche peut aussi être remplie à l'aide d'une carte d'identité électronique, d'un passeport électronique ou de tout autre mécanisme permettant une identification de 1' tilisateur. A partir de ces différents champs et données, un calcul est réalisé pour obtenir un certificat de l'application associée à l'utilisateur spécifique ayant réalisé l'identification et à l'ordinateur sur lequel se trouve l'application. Le hashage est du type SHA 256 de type connu, pour un algorithme de cryptage AES (Advanced Encryption Standard) et la base mathématique est issue de courbes elliptiques (EC) . Ce certificat est la «signature» de l'application informatique de l'utilisateur (Audlds) . Le certificat « Audlds » (ou signature de l'application) est ensuite stocké dans la « base locale », cryptée de l'ordinateur de l'utilisateur.
Successivement, un certificat «AudSig» (signature de l'utilisateur) propre à l'utilisateur est créé ou importé.
Cette signature est une combinaison d'un mot de passe d'au moins 8 caractères et de l'identité de l'utilisateur. Elle
peut être stockée par exemple en externe : sous forme de fichier .sign crypté, sur une clé USB ou une carte mémoire ou directement dans la «base locale» du poste utilisateur. Elle peut également être associée à une donnée biométrique de l'utilisateur (empreinte digitale ou reconnaissance d'iris), son usage doit être confirmé par la validation de la donnée biométrique. La phase d'installation se termine par la création d'un contrat de licence électronique «AUD» que l'utilisateur a lu avant de faire « accepte », qui est signé par le certificat Audlds et le certificat AudSig. Ce contrat, signé électroniquement est envoyé automatiquement par E-mail chez le distributeur via Internet. Le contrat AUD et les attributs des certificats sont stockés dans une base de données. Ce stockage permet de vérifier les certificats de licence grâce au numéro de licence unique, dont une partie est calculée lors de l'installation du logiciel et à l'ID du certificat (empreinte) du produit dans une optique de traçabilité des documents. Une clef d' activation est renvoyée, dès l'enregistrement effectué.
En possession de ces «signatures», l'utilisateur peut maintenant créer des documents certifiés conformes dits originaux de type « .aud®».
A partir d'un écrit électronique initial Dl, l'application informatique A est apte à transformer le format du document pour en faire un document authentifié de type «.aud®». Notons que le document Dl peut être dans un format numérique quelconque ASCII ou binaire (texte, image, vidéo, musique) .
La structure du format des documents originaux .aud® est la suivante : une en-tête, un corps correspondant à l'écrit électronique d'origine, un pied. Notons que les deux parties en-tête et corps ne sont pas modifiables une fois le document «.AUD®» crée. Par contre, le pied du fichier, qui contiendra les différentes signatures et les cachets, est variable et évolue au fur et à mesure de la diffusion du document.
Les différentes parties du document certifié sont sous forme de balises et de contenus. A partir d'un document originel, celui-ci est donc modifié selon l'invention sous la forme suivante :
Balise début en-tête Contenu en-tête Balise Fin en-tête
Balise début document originel Contenu document originel Balise fin document originel
Balise début pied Contenu pied
Illustré figure 2, le contenu de l' en-tête (bloc 1) contient plusieurs champs importants dont au moins : le numéro de version : c'est le numéro de la version de l'application qui a permis la création du document . aud® ;
le type de document : ce champ identifie le type de document parmi les documents non signés, signés ou accusé de réception ; le nom du fichier originel ; - l'extension : c'est le type d'extension du fichier originel (.doc, .pdf, .xls pour les plus classiques) ; le type de diffusion désiré : ce champ définit les modalités de contrôle de l'accès au document ; le numéro d'original (numéro unique par original AUD® créé) .
Ce nombre de champs n'est bien sûr pas limité, mais une fois créée, cette en-tête est non modifiable une fois le fichier sécurisé .aud ® créé.
Le contenu du document originel n'est pas modifié par l'application informatique mettant en œuvre le procédé selon l'invention. Il est dans un format binaire ou ASCII gardant ainsi une parfaite intégrité (bloc 2) .
La partie essentielle de l' authentification est la signature de l'application informatique présente en pied de document . Ce pied contient d'une part un premier sous-ensemble AUDInfo limité par deux sous-balises de type Début AUDInfo et Fin AUDInfo (bloc 3) . Ce sous-ensemble comprend un horodatage de la création du fichier original .AUD® permettant la traçabilité de la création du document.
Le certificat de l'application informatique permettant de créer le document est alors inséré à la suite du sous-
ensemble AUDInfo après une sous-balise du type Début AUDIds (bloc 4) .
Ce certificat inséré en pied du document .AUD® contient plusieurs champs en ligne dont au moins :
1. Les informations en clair Audlds correspondant à la licence du logiciel, au hardware et à l'utilisateur ; 2. L'empreinte du certificat (ID) de l'application informatique ; 3. Un hash du document à signer correspondant à l'ensemble du document depuis le début du Header jusqu'à la fin du sous-ensemble AUDInfo (donc jusqu'à la balise Fin AUDInfo) ; 4. Un hash des lignes précédentes 2 et 3.
Les hash des lignes 3 et 4 est encore réalisé par un algorithme de courbe elliptique et SHA-256. Notons que le hashage de la ligne 4 permet de lier mathématiquement le document à signer et l'empreinte du certificat de l'application informatique (ID) .
Une fois cette signature réalisée, le document est crypté et enregistré sur le disque du poste utilisateur en tant que fichier par exemple test . aud. Concrètement, ce type de fichier correspond à un document papier mis dans un parapheur et prêt à la signature.
Si ce document doit être modifié, il doit alors être réimprimé, ce qui correspond à la création d'un nouveau fichier «.AUD®» qui aura un certificat différent du premier.
Notons que la procédure de signature d'un document, le calcul du hash est effectué bloc par bloc comme sur la
figure 3. En effet, le document DO à être signé devant être mis en mémoire avant d'insérer la signature, cette mise en mémoire est effectuée par blocs de plus petite taille afin de ne pas avoir un temps de traitement trop long. On obtient alors un ensemble de signatures (SI, S2, (...), Sn) pour les différents blocs. Une signature unique «S0» est alors obtenue par signature de la concaténation de ces différentes signatures. Ce procédé de traitement par bloc pour obtenir un traitement rapide et une sécurisation des données sera expliqué plus en détail dans un mode de réalisation de l'invention illustré figures 6, 7, 8, 9 et 10.
Notons enfin qu'un tel document «.AUD®» n'est lisible qu'avec une application informatique apte à lire le format tel que défini ci-dessus. En particulier, les applications classiques (Word, Excel) ne permettront pas d'ouvrir un document original «.AUD®».
Le document «.AUD®» décrit ci-dessus peut alors recevoir les différentes signatures ou cachets correspondant à la diffusion du document. Illustré figure 4, la signature est ajoutée en pied de document. Elle est toujours précédée d'un sous-ensemble AUDInfo (bloc 5) comprenant l'horodatage de l'insertion de la signature comme précédemment entre deux sous-balises Début AUDInfo et Fin AUDInfo. Si l'utilisateur est connecté à Internet, cet horodatage est obtenu par le protocole NTP.
La signature du document par l'utilisateur (bloc 6) comprend alors comme précédemment les 4 champs correspondants aux informations AUDIDs, à la signature de l'application informatique, au hashage du document à signer correspondant à l'ensemble du document depuis le début du Header (en-tête)
jusqu'à la fin du sous-ensemble AUDInfo précédent (donc jusqu'à la balise Fin AUDInfo qui vient juste d'être créée) et au hashage des deux lignes précédentes . Notons que lors de l'insertion d'une signature, les hashages inclus dans les certificats précédents sont supprimés, d'une part parce qu'ils sont devenus désuets à cause de l'insertion d'un nouveau sous-ensemble du pied, et d'autre part pour qu'il ne soit absolument pas possible de supprimer des signatures, même en retrouvant les informations à partir du hashage. On obtient donc un bloc d'identification 4' légèrement différent du bloc 4, avec la dernière ligne hashage en moins . Le document «.AUD®» ainsi signé est alors enregistré en tant que document signé par exemple sous le nom test-c . aud. Illustré figure 5, il est également possible d'ajouter un certificat sous forme de cachet local (bloc 8) . Lors de l'insertion d'un tel cachet local, l'utilisateur (défini par les informations contenues dans AUDInfo) peut définir un type de cachet spécifique, par exemple «courrier» ou «service administratif», «Bon à Publier» qui sera inséré dans le certificat . Comme précédemment, le cachet (bloc 8) sera précédé d'un sous-ensemble AUDInfo (bloc 7) et des 4 champs spécifiques au cachet et à celui qui insère le cachet. L'ensemble du document est alors crypté. Le bloc 6' correspond encore au bloc 6 auquel a été retirée la dernière empreinte elliptique.
Il est également possible d'insérer une co-signature . Cette co-signature permet d'ajouter une signature non activée à l'application informatique sur laquelle est lu le document qui va être signé. L'utilisateur de l'application informatique «ouvre» alors l'accès aux signatures extérieures par exemple par clé externe ou carte à puce.
L'application de cette co-signature est par exemple celle d'une réunion où chacun approuve par apposition de sa signature sur le document «ouvert» sur le poste du secrétaire général .
Comme précédemment, le cachet sera précédé d'un sous- ensemble AUDInfo correspondant à l'application de celui qui autorise la co-signature, et des 4 champs spécifiques au cosignataire. Il est ainsi possible de voir par exemple que «Martinez a signé le document sur le logiciel de Dupont».
Enfin, il est possible d'ajouter un certificat spécial correspondant à une demande d'accusé de réception. Cette demande est signée comme précédemment, mais elle modifie le champ de l' en-tête correspondant au type de confidentialité demandé . Ainsi, lors de la réception du document, le destinataire devra être connecté sur le réseau afin que l'application puisse envoyer un mail à l'expéditeur comprenant un fichier joint du type «test-ar. aud» comprenant : les attributs du certificat «Audlds» du logiciel qui ouvre le fichier AUD, les attributs du certificat «Audids» du fichier AUD, les attributs certificat «AudSig» et la signature de l'utilisateur qui ouvre le
fichier AUD. Le fichier «-ar.aud» est alors signé et envoyé au demandeur de l'Accusé de réception.
Tant que l'accusé de réception n'est pas envoyé, il est impossible d'ouvrir le document AUD®.
Enfin, un second certificat spécial permet de restreindre la diffusion d'un document AUD®. Ceci est réalisable est stockant par exemple une clé de cryptage au niveau d'un serveur local. Les différentes applications informatiques ayant accès à ce réseau local peuvent alors décrypter le document, mais pas celles hors du réseau local . (Mode de diffusion restreinte) De la même façon, pour une communication confidentielle entre deux personnes, une clé spécifique est générée et échangée seulement entre les deux utilisateurs désirant échanger les documents de façon confidentielle.
Nous allons maintenant décrire un mode de mise en œuvre du procédé précédemment décrit. La création d'un fichier AUD® peut être réalisée en C++ sous Microsoft Visual C++. Ce langage de programmation est connu de l'homme du métier.
L'utilisateur doit d'abord sélectionner le fichier d'origine (écrit électronique à sécuriser) à partir duquel il veut créer l'original Aud. A ce niveau, le système ne fait que stocker le chemin du fichier choisit par l'utilisateur et bloquer ce fichier d'origine en lecture/écriture (pour ne pas qu'une autre application puisse l'utiliser pendant le traitement) . Cette action est instantanée car aucun traitement n'est effectué sur le fichier d'origine.
Quand l'utilisateur va créer l'original AUD® (en cliquant sur le bouton approprié) , le système va mapper le fichier d'origine en mémoire par bloc de 64Ko (par la fonction « granularity » de Windows) et effectuer un traitement sur chaque bloc pour créer le fichier original Aud (fichier. aud) .
La création du fichier. aud est alors réalisée selon le processus suivant. Le processus comprend d'abord une phase d'initialisation comprend les étapes suivantes : 1- Vérification de l'existence du fichier d'origine 2- Création de l' en-tête du document Aud (HEADER) 3- Ajout de l' en-tête à une variable « buffer_block » 4- Création du pied du document Aud (PIED) - compléter fin de traitement par les deux hash 5- Ajout du pied à une variable « buffer_pied » 6- Création du fichier Aud (vide) 7- Création du fichier temporaire (vide) 8- Initialisation de la variable de hashage SHA256
Le traitement est alors réalisé bloc par bloc comme suit : 1- Début de la boucle de lecture par bloc de 64Ko du fichier d'origine 2- Traitement des blocs (sauf le dernier) 3- Traitement final du dernier bloc 4- Fin de la boucle Puis le traitement est finalisé avec les étapes suivantes : 1- Ajout du certificat Audids à la liste des items du document Aud
2- Fermeture du fichier d'origine (libération du blocage en lecture/écriture) 3- Libération de la mémoire (variables de travail, pointeurs, ...)
Le premier problème qui se pose dans ce type de traitement par bloc avec encodage AES pour des raisons de sécurité est que AES ne peut crypter que des blocs de données dont la taille est un multiple de 16 octets (128 bits) . On utilise alors un bourrage (padding) pour crypter des blocs de n'importe quelle taille. Par exemple, si le bloc de données à crypter a une taille de 28 octets, alors 4 octets de padding seront ajoutés à la fin du bloc. Ainsi AES cryptera un bloc de 32 octets (28 octets de données + 4 octets de padding) et retournera donc le bloc crypté sur 32 octets .
Les octets de padding ajoutés à la fin du bloc à crypter contiendront tous la même valeur. Ce sera le nombre d'octets ajoutés pour le padding. Dans notre exemple, chacun des 4 octets de padding contiendra la valeur 4.
Au contraire, lorsque l'on est sûr que le bloc à crypter a une taille multiple de 16 octets, on peut alors crypter le bloc de données SANS PADDING.
Cela présente l'avantage d'obtenir un bloc de données crypté ayant la même taille que le bloc de données non crypté .
Par ailleurs, les API de Mapping utilisés pour manipuler les fichiers par blocs de manière optimale ne
permettent de manipuler les blocs d'un fichier qu'à partir d'un offset multiple de la granularité du système. Sur les plates-formes Windows 32 bits, la granularité est de 65536 octets (64 Ko) .
C'est pour cette raison qu'on est contraint d'utiliser des blocs de 64 Ko, car le pointeur de fichier ne peut accéder aux morceaux du fichier que tous les 65536 octets. Enfin, lors du traitement par bloc, les différents encodages AES et hashages SHA 256 doivent apporter des niveaux de sécurité suffisants.
Le procédé utilisé est alors celui illustré figure 6 pour le traitement d'un bloc quelconque (sauf le dernier) .
On remarque que le traitement d'un bloc peut se décomposer en 4 phases : 1- Récupération du bloc N du fichier d'origine (à partir d'un offset N * 64 Ko) et écriture de ce bloc dans le fichier temporaire (à l'offset N * 64 Ko) 2- Découpage du bloc N en 2 parties. La 2eme partie du bloc est placée dans le «buffer_block N+l» et sera utilisé dans le traitement du prochain bloc (N+l) tandis que la première partie du bloc N est ajoutée à la suite du « buffer_block N». 3- Récupération de l'empreinte de hachage SHA256 du nouveau bloc N. 4- Encodage AES (sans padding) du nouveau bloc N et écriture du bloc encodé dans le fichier Aud (à l'offset N * 64 Ko)
Le traitement du dernier bloc du fichier d'origine, bien qu' identique dans le principe au traitement des autres blocs, est spécifique, car il y a des cas particuliers qu'il faut pouvoir contrôler efficacement. Les règles de traitement suivantes sont alors établies pour le traitement :
REGLE 1 : Les 4 lignes de la signature du document AUD sont toujours stockées dans le dernier bloc du fichier Aud. Si elles chevauchent l'avant-dernier bloc et le dernier bloc, elles sont alors toutes placées dans le dernier bloc. L'avant dernier bloc est alors bourré avec des octets à 0x00. Le padding de l'avant dernier bloc aussi est signé et fait partie intégrante du document AUD même si ces données de bourrage ne servent à rien.
REGLE 2 : Un ensemble d' informations représentant le contexte du document Aud (son état à l'instant «T») est créé et sauvegardé. Il permettra d'ajouter de nouvelles signatures au document AUD (les variables présentent dans le contexte sont décrites plus bas dans ce document) .
Un traitement du bloc final est illustré figure 7. Remarquons que, dans le traitement du dernier bloc : - on ne crée pas de « buffer_block N+l » (ce qui est tout à fait normal puisqu'on traite le dernier bloc du fichier d'origine et qu'il s'agit donc de la dernière ronde) . - on ajoute le « buffer_pied » à la fin du bloc (il a été crée dans l'étape 4 de la phase d'initialisation et il ne contient évidemment pas les 4 lignes de la signature Audids) .
On a donc au final un bloc appelé « final block » qui regroupe le « buffer_block » de la ronde précédente, le dernier bloc du fichier d'origine et le pied du document AUD.
Il y a alors 3 cas de figures possibles (chaque cas est traité dans le processus « Traitement Final du bloc ») illustrés figures 8, 9, et 10 :
1. Le bloc a une taille supérieure à 65536 octets. Dans ce cas, n découpe donc ce bloc en 2 blocs : • Un bloc de 65536 octets qu'on ajoute au fichier Aud (c'est donc l'avant-dernier bloc du fichier AUD) • Un bloc contenant le reste du "bloc final" où il sera ajouté les 4 lignes de la signature
2. Le bloc a une taille inférieure à 65536 octets, mais si on lui ajoute les 4 lignes de la signature et le padding AES (car le dernier bloc est encodé avec padding) , il dépassera 65536 octets (la signature sera donc écrite sur 2 blocs, or d'après la REGLE 1, c'est impossible !) . On écrit donc le bloc dans l'avant-dernier bloc et on l'initialise jusqu'à 65536 octets avec des octets à 0x00. Le dernier bloc du document Aud contiendra donc uniquement les 4 lignes de la signature.
3. Le bloc et les 4 lignes de la signature qui vont y être ajoutées tiendront dans le bloc à écrire dans le fichier Aud (taille inférieure ou égal à 65536 octets) . Le «final block » est donc le dernier bloc du fichier Aud.
Une fois le traitement de l'un de ces 3 cas de figures (en fonction de la taille du « final block ») , on traite le dernier bloc à écrire dans le fichier AUD en effectuant les opérations suivantes :
• génération de l'empreinte de hashage SHA256 globale du document AUD. • génération des 2 lignes de hashages elliptiques (ecLinel et ecLine2) . • ajout des 4 lignes de la signature à la fin du bloc . • encodage AES (avec padding) du bloc. • écriture du dernier bloc dans le fichier AUD. • sauvegarde d'un contexte (ensemble de variables) pour pouvoir ajouter des signatures au document Aud qui vient d'être crée.
L'algorithme EC (courbes elliptiques) permet enfin de générer les 2 lignes de hash elliptique (ecLinel et ecLine2) à partir de l'empreinte de hashage SHA-256 de tout le document AUD et du certificat Audids du logiciel AUD sur lequel est créé cet original.
L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet.