FR3065552A1 - Procede et systeme d’authentification et de non-repudiation - Google Patents

Procede et systeme d’authentification et de non-repudiation Download PDF

Info

Publication number
FR3065552A1
FR3065552A1 FR1770416A FR1770416A FR3065552A1 FR 3065552 A1 FR3065552 A1 FR 3065552A1 FR 1770416 A FR1770416 A FR 1770416A FR 1770416 A FR1770416 A FR 1770416A FR 3065552 A1 FR3065552 A1 FR 3065552A1
Authority
FR
France
Prior art keywords
user
time
disclosed
function
mathematical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1770416A
Other languages
English (en)
Inventor
Mohamad Badra
Rouba Broghol Badra
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR1770416A priority Critical patent/FR3065552A1/fr
Publication of FR3065552A1 publication Critical patent/FR3065552A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Un procédé et un système d'authentification et de non-répudiation caractérisé par : - une génération par chaque utilisateur (113) d'une valeur aléatoire ou d'une clé cryptographique SK0 (310), et d'une liste chainée comprenant plusieurs éléments SK1 (311), SK2 (312),..., SKn (31n), ladite SKi est une fonction de SKi-1,, pour tout entier i entre 1 et n, le dernier élément SKn (3 1n) de ladite liste chainée sera divulgué et publié par ledit utilisateur (113), chacun des autres éléments ne sera utilisé qu'une seule fois par ledit utilisateur (113), et lesdits éléments (310, 311,... 31n) de ladite liste chainée (300) sont utilisés dans l'ordre inverse de leur ordre de génération. - une application d'une fonction mathématique ou cryptographique (170) par chaque utilisateur (113) pour générer une valeur à horodater (121), ladite fonction mathématique ou cryptographique liant les données de chaque utilisateur (113) et le dernier élément non divulgué de ladite liste chainée (300) dudit utilisateur (113), - une transmission de la valeur à horodater (121) par chaque utilisateur (113) à un système d'horodatage (130), - une génération et de transmission par ledit système d'horodatage (130) d'un « jeton d'horodatage » ou d'une « estampille temporelle » (160) constituant une preuve de l'existence de la valeur à horodater (121) de chaque utilisateur (113) à une date donnée, - une de vérification par ledit utilisateur (113) de l'intégrité et de l'authenticité dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160), - une divulgation par chaque utilisateur (113) dudit dernier élément non divulgué, utilisé durant d'application d'une fonction mathématique ou cryptographique (170), permettant audit système d'horodatage (130) d'authentifier ledit utilisateur (113) et de vérifier que ledit élément divulgué est une fonction de son élément successeur dans ladite liste chainée (300) ou du dernier élément précédemment divulgué par ledit utilisateur (113), de valider ladite valeur à horodater (121) à l'aide dudit dernier élément divulgué et de ladite fonction mathématique ou cryptographique (170), et de publier dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160) par ledit système d'horodatage (130).

Description

(57) Un procédé et un système d'authentification et de non-répudiation caractérisé par:
- une génération par chaque utilisateur (113) d'une valeur aléatoire ou d'une clé cryptographique SK0 (310), et d'une liste chaînée comprenant plusieurs éléments SK1 (311), SK2 (312).....SKn (31 n), ladite SK, est une fonction de SK |,, pour tout entier i entre 1 et n, le dernier élément SKn (3 1 n) de ladite liste chaînée sera divulgué et publié par ledit utilisateur (113), chacun des autres éléments ne sera utilisé qu'une seule fois par ledit utilisateur (113), et lesdits éléments (310, 311.... 31 n) de ladite liste chaînée (300) sont utilisés dans l'ordre inverse de leur ordre de génération.
- une application d'une fonction mathématique ou cryptographique (170) par chaque utilisateur (113) pour générer une valeur à horodater (121), ladite fonction mathématique ou cryptographique liant les données de chaque utilisateur (113) et le dernier élément non divulgué de ladite liste chaînée (300) dudit utilisateur (113),
- une transmission de la valeur à horodater (121) par chaque utilisateur (113) à un système d'horodatage (130),
- une génération et de transmission par ledit système d'horodatage (130) d'un « jeton d'horodatage » ou d'une « estampille temporelle » (160) constituant une preuve de l'existence de la valeur à horodater (121 ) de chaque utilisateur (113) à une date donnée,
- une de vérification par ledit utilisateur (113) de l'intégrité et de l'authenticité dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160),
- une divulgation par chaque utilisateur (113) dudit dernier élément non divulgué, utilisé durant d'application d'une fonction mathématique ou cryptographique (170), permettant audit système d'horodatage (130) d'authentifier ledit utilisateur (113) et de vérifier que ledit élément divulgué est une fonction de son élément successeur dans ladite liste chaînée (300) ou du dernier élément précédemment divulgué par ledit utilisateur (113), de valider ladite valeur à horodater (121) à l'aide dudit dernier élément divulgué et de ladite fonction mathématique ou cryptographique (170), et de publier dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160) par ledit système d'horodatage (130).
Figure FR3065552A1_D0001
Figure FR3065552A1_D0002
i
Titre
Procédé et système d’authentification et de non-répudiation
Domaine de l’invention
La présente invention concerne un procédé et un système d’authentification et de nonrépudiation.
Arrière-plan de l’invention
La non-répudiation est l’impossibilité pour toute personne ou entité engagée dans une communication ou contrat par voie informatique, de nier avoir reçu ou émis un message. Autrement dit, la non-répudiation est la possibilité de vérifier que l'envoyeur et le destinataire sont bien les parties qui disent avoir respectivement envoyé ou reçu les données ; la non-répudiation de l'origine prouve que les données ont été envoyées, et la non-répudiation de l'arrivée prouve qu'elles ont été reçues.
Actuellement, les algorithmes asymétriques assurent la non-répudiation de données signées dans la mesure où seul l'expéditeur possède la clé privée utilisée pour cette signature, ce qui empêche le récepteur de simuler une transmission à la place de l'expéditeur. Généralement, la clé privée est associée à une clé publique, cette clé publique permettant, à toute personne le souhaitant, de vérifier la signature.
Comme la clé publique d'un utilisateur doit être accessible à l'ensemble des autres utilisateurs, le lien entre une clé publique et une personne donnée doit être garanti par une tierce partie de confiance, afin que nul ne puisse se faire passer pour un utilisateur légitime. Une tierce partie de confiance, dont les mécanismes sont sûrs, permet aux utilisateurs d'avoir implicitement confiance dans toute clé publique certifiée par cette tierce partie que nous appelons Infrastructure à Clé Publique (ICP) ou même PKI pour Public Key Infrastructure.
A cet effet, les certificats sont définis. Le certificat est un document électronique contenant donc des données publiques concernant un utilisateur donné. Le certificat contient notamment la clé publique correspondant à la clé privée que seule l’entité à laquelle se rapporte le certificat connaît. Le contenu d’un certificat doit être garanti comme fiable par une autorité qui a pris la responsabilité de l’émettre. C'est-à-dire, le contenu doit être authentifié par l’autorité qui a pris la responsabilité d’émettre le certificat. Le certificat doit être en même temps infalsifiable et doit indiquer son usage (authentification, signature, chiffrement, etc.). Il est évident aussi que le certificat comporte l’indication de sa validité et un numéro de séquence. Le standard X.509 a normalisé un format de certificat utilisé dans le cadre de l’infrastructure à clé publique. Ce format est utilisé avec le plupart des protocoles de sécurité.
ICP nécessite la distribution des certificats aux clients et la révocation de celles qui ne sont plus valides. En plus, elle entraîne un surplus important en termes de gestion et de ressources machines et humaines. De plus, un ordinateur quantique serait, en théorie, capable de décrypter toutes les formes actuelles de chiffrement à clé publique. Autrement dit, la cryptographie à clé publique utilisée aujourd'hui sera obsolète et il sera possible d’accéder au contenu pour lire rétroactivement l’hÎstorique de n’importe quel utilisateur.
On connaît déjà, dans l'état de la technique, qu’un système d’horodatage comprend un module d’horodatage et un module de signature. Le premier module sert à horodater des données avec une heure et une date obtenues à partir d'une source de temps, tandis que le deuxième apte à signer des données horodatées par le module d'horodatage.
En général, le système d’horodatage fournit un service d'horodatage en répondant à des requêtes contenant des données à horodater, émises depuis un terminal client. Cependant, on connaît déjà, dans l'état de la technique, de serveurs d’horodatage permettant de collecter en même temps de plusieurs utilisateurs, de requêtes contenant des données à horodater. A titre d’exemple non limitatif, l’infrastructure de signatures sans clés KSI (ou en Anglais « Keyless Signature Infrastructure ») est une infrastructure capable de garantir la date de création, l’authenticité et l’intégrité de donnée grâce à un modèle purement mathématique et d’éviter ainsi tout recours à un tiers de confiance. Cette infrastructure est basée à la fois sur un arbre et un calendrier de hachage. On connaît déjà, dans l'état de la technique, que l’arbre de Merkle ou l’arbre de hachage est utilisé afin de décomposer les données d'entrée. Ces données sont générées par les feuilles de l'arbre et hachées (ou compressées, chiffrées, etc.) avant d’être transmises aux nœuds de niveau supérieur dans l’arbre. Chaque nœud intermédiaire entre la racine et les feuilles de l’arbre hache (ou compresse, chiffre, etc.) les données reçues de nœuds de niveau inférieur avant de renvoyer le résultat aux nœuds de niveau supérieur. Cette opération est répétée jusqu'à la racine de l’arbre pour générer le résultat final (on l’appelle le hachage racine). KSI utilise un calendrier qui sert à l’horodatage (ou en Anglais « timestamp ») des données ou du hachage racine grâce à une chaîne temporelle ou chaîne de hachage. La valeur du hachage racine est ensuite publiée dans cette chaîne. Il sera impossible dès lors de falsifier la signature ou les valeurs hachées des données. En effet, toute modification apportée aux données originales ou à leurs hachages romprait la chaîne de hachage. L’intégrité de la donnée peut donc être prouvée en suivant la chaîne et en recréant la valeur de hachage. Cependant, KSI ne définit pas de moyens pour assurer Γ authenticité de données reçues d’utilisateurs.
On connaît déjà, dans l'état de la technique, la blockchain qui est une technologie de stockage et de transmission d’informations, transparente, sécurisée, et fonctionnant sans organe central de contrôle. Les transactions effectuées entre les utilisateurs du réseau sont regroupées par blocs. Chaque bloc est validé par les nœuds du réseau appelés les “mineurs”, selon des techniques qui dépendent du type de blockchain. Dans la blockchain du bitcoin cette technique est appelée « preuve de travail » (ou en Anglain « Proof-of-Work »), et consiste en la résolution de problèmes algorithmiques. Une fois le bloc validé, il est horodaté et ajouté à la chaîne de blocs. La transaction est alors visible pour le récepteur ainsi que l’ensemble du réseau.
La blockchain peut être utilisée pour horodater et pour ajouter la valeur du hachage racine à la chaîne de blocs.
Résumé de l’invention
Un but de l'invention est de proposer un système d’authentification et de non-répudiation, qui soit plus efficace, plus écologique et moins coûteux que les procédés de l'art antérieur.
A cet effet, l’invention a pour objet un système d’authentification et de non-répudiation, caractérisé en ce qu’il comprend un système d’horodatage, un ensemble de terminaux utilisateurs connectés par réseau de transmission de données avec le système d’horodatage, et caractérisé en ce qu'il comprend en outre :
- des moyens de génération par chaque utilisateur d’une valeur aléatoire ou d’une clé cryptographique SK0, et d’une liste chaînée comprenant plusieurs éléments SK1; SK2, ..., SKn, ladite SK, est une fonction de SKj !, pour tout entier i entre 1 et n, le dernier élément SKn de ladite liste chaînée sera divulgué et publié par ledit utilisateur, chacun des autres éléments ne sera utilisé qu’une seule fois par ledit utilisateur durant l’étape d’application d’une fonction mathématique ou cryptographique, et lesdits éléments de ladite liste chaînée sont utilisés dans l’ordre inverse de leur ordre de génération.
- des moyens d’application d’une fonction mathématique ou cryptographique par chaque utilisateur pour générer une valeur à horodater, ladite fonction mathématique ou cryptographique liant les données de chaque utilisateur et le dernier élément non divulgué de ladite liste chaînée dudit utilisateur,
- des moyens de transmission de la valeur à horodater par chaque utilisateur à un système d’horodatage,
- des moyens de génération et de transmission par ledit système d’horodatage d’un « jeton d'horodatage » ou d’une « estampille temporelle » constituant une preuve de l'existence de la valeur à horodater de chaque utilisateur à une date donnée,
- des moyens de vérification par ledit utilisateur l’intégrité et l’authenticité du « jeton d'horodatage » ou de la « estampille temporelle »,
- des moyens de divulgation par chaque utilisateur dudit dernier élément non divulgué, utilisé durant l’étape d’application d’une fonction mathématique ou cryptographique, permettant au System d’horodatage de vérifier que ledit élément divulgué est une fonction de son élément successeur dans ladite liste chaînée ou du dernier élément précédemment divulgué par ledit utilisateur, et de valider ladite valeur à horodater à l’aide dudit dernier élément divulgué et de ladite fonction mathématique ou cryptographique, et de publier dudit « jeton d'horodatage » ou de ladite « estampille temporelle » par ledit système d’horodatage.
- des moyens d’authentification d’utilisateurs (113, 114, 115, 116) par ledit système d’horodatage (130) ou toute autre personne ou entité, permettant de décider si un utilisateur (113, 114,115,116) dispose ou non de l'autorité pour effectuer une transaction ou une requête contenant des données à horodater, en vérifiant que ledit élément divulgué par ledit utilisateur est une fonction de l’élément successeur dans ladite liste chaînée (300) ou du dernier élément précédemment divulgué par ledit utilisateur durant une étape de divulgation.
L'invention concerne également un dispositif d’authentification et de non-répudiation. Selon l'invention, un tel dispositif comprend des moyens: de génération de ladite valeur aléatoire ou de ladite cryptographique ; de génération de ladite liste chaînée ; d’application de ladite fonction mathématique ou cryptographique ; de transmission de ladite valeur à horodater ; de génération et de transmission dudit « jeton d'horodatage » ou de ladite « estampille temporelle » ; de mémorisation et de vérification dudit « jeton d'horodatage » ou de ladite « estampille temporelle » ; de divulgation et de publication dudit dernier élément de ladite liste chaînée ; de vérification que l’élément divulgué est utilisé pour la première fois et qu’il est une fonction du dernier élément divulgué par ledit utilisateur ; de génération et de vérification de ladite valeur à horodater ; de publication de ladite valeur à horodater dans ledit calendrier de hachage.
Selon un autre aspect, l'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, et comprenant des instructions de code de programme pour l'exécution du procédé d’authentification de non-répudiation tel que décrit précédemment.
Brève description des dessins
On va maintenant décrire des modes de réalisation de l’invention de façon plus précise mais non limitative au regard des dessins annexés, sur lesquels :
- la figure 1 est un schéma synoptique illustrant la structure et le fonctionnement d’un système d’authentification et de non-répudiation et la structure de la liste chaînée selon l’invention ;
- la figure 2 est un schéma synoptique illustrant la structure et le fonctionnement d’un système d’authentification et de non-répudiation selon l’invention lorsque le système d’horodatage est une KSI ;
Description détaillée d’une forme de réalisation préférée
Dans le cadre de l’invention, le terme « terminal » ou « terminal utilisateur » a un sens très large. En effet, il peut désigner un ordinateur ou un terminal de communication mobile tel qu’un téléphone portable, un assistant personnel, un appareil informatique de type carte à puce ou encore un porte USB ou carte MMC.
Dans le cadre de l’invention, le terme « terminal système d’horodatage » doit être également compris dans le sens le plus général. En général, le système d’horodatage fournit un service d'horodatage en répondant à des requêtes contenant des données à horodater, émises depuis un terminal client. Il peut désigner un ordinateur ou un terminal de communication mobile tel qu’un téléphone portable, un assistant personnel, un appareil informatique de type carte à puce ou encore un porte USB ou carte MMC. A titre d’exemple non limitatif, le système d’horodatage peut être une KSI ou un système de blockchain.
Dans le cadre de l’invention, le terme « application logicielle » doit être entendu au sens large. A titre d'exemple, il peut représenter des programmes d’ordinateur correspondants comportant des instructions de code qui, lorsque ces programmes sont exécutés, permettent la mise en œuvre des étapes du procédé. Bien entendu, d’autres modes de réalisation peuvent encore être envisagés.
Enfin, et dans le cadre de l’invention, le terme « réseau » a également un sens très large dans le cadre de l’invention. Il peut désigner les réseaux privés d’entreprises ou similaires, les réseaux Internet, les réseaux sans fil et mobiles, les réseaux locaux et les réseaux extranets. A titre d'exemple non limitatif, le réseau peut représenter un ensemble de réseaux, des routeurs, des stations de base, des points d’accès sans fil et des passerelles qui utilisent des protocoles de transmissions et de communications comme par exemple les protocoles Transmission Control Protocol et Internet Protocol (TCP / IP).
Il convient de noter que dans la suite de la description, les termes « utilisateur » et « terminal utilisateur » ont la même signification.
Il convient de noter que dans la suite de la description, les terminaux, le système d’horodatage et les utilisateurs sont munis d’au moins une interface de communication et d’une application logicielle permettant de traiter, transmettre et de recevoir des données et des informations liées à la non-répudiation.
La figure 1 illustre un cas générique d'un système d’authentification et de non-répudiation, dans lequel chaque utilisateur (113) génère une valeur aléatoire ou d’une clé cryptographique SK0 (310), et une liste chaînée comprenant plusieurs éléments SK-t (311), SK2 (312), ..., SKn (31n), ladite SKj est une fonction de 5Κί ±, pour tout entier i entre 1 et n.
L’utilisateur (113) génère lesdits éléments (311, ..., 31n) de ladite liste chaînée (300) a l’aide de la clé SK0 et d’une fonction mathématique ou cryptographique F, pour tout entier i entre 1 et n :
SKi = FCSKi.J, 1 < i < n
A titre d'exemple non limitatif, la fonction F peut représenter une fonction à sens unique ou une fonction de hachage comme par exemple MDS ou SHA-1, ou un algorithme de chiffrement comme par exemple AES.
L’utilisateur publie la valeur SKn (31n) de manière que les autres utilisateurs et toute autre personne ou entité puissent avoir accès cette valeur. A titre d’exemple non limitatif, cette valeur peut être publiée dans une base de données, dans un annuaire, dans une blockchain ou même dans une KSI. L’élément SKn (31n) pourra être certifiée ou authentifiée par une tierce ce confiance. A titre d’exemple non limitatif, la tierce de confiance peut représenter une autorité de certification ou un serveur d’authentification comme par exemple Kerberos.
Chacun des autres éléments non divulgués ne sera utilisé qu’une seule fois par ledit utilisateur (113) durant l’étape d’application d’une fonction mathématique ou cryptographique (170), et lesdits éléments de ladite liste chaînée sont utilisés dans l’ordre inverse de leur ordre de génération.
Lorsque l’utilisateur (113) souhaite horodater de données, il applique une fonction mathématique ou cryptographique G liant les données ou l’information à horodater et le dernier élément non divulgué de ladite liste chaînée (300) de l’utilisateur (113), l’utilisateur (113) transmet le résultat (120) de l’application de la fonction G à un système d’horodatage (130). A titre d’exemple non limitatif, la fonction G peut représenter une fonction à sens unique ou une fonction de hachage comme par exemple MD5 ou SHA-1, ou un algorithme de chiffrement comme par exemple AES. A titre d’exemple non limitatif, le système d’horodatage peut représenter une KSI ou un blockchain.
A la réception et la validation de données ou de l’information à horodater reçues de chaque utilisateur (113), le système d’horodatage (130) applique une fonction mathématique ou cryptographique (170) H pour générer un « jeton d'horodatage » ou d’une « estampille temporelle » (160) constituant une preuve de l'existence de la valeur à horodater (121) de chaque utilisateur (113) à une date donnée. A titre d'exemple non limitatif, la fonction H peut représenter une fonction à sens unique ou une fonction de hachage comme par exemple MD5 ou SHA-1, un algorithme de chiffrement comme par exemple AES, ou un algorithme de signature comme par exemple RSA.
Ensuite, chaque utilisateur (113) divulgue l’élément utilisé dans la génération les données ou l’information à horodater. Cette divulgation permettra à toute entité ou personne de vérifier que le dernier élément récemment divulgué est une fonction de son élément successeur dans ladite liste chaînée (300) ou du dernier élément précédemment divulgué par ledit utilisateur. Elle permettra également au System d’horodatage de valider ladite valeur à horodater (121) à l’aide dudit dernier élément divulgué par l’utilisateur (113) et ladite fonction mathématique ou cryptographique (170). De plus, elle permettra audit système d’horodatage (130) de publier ou pas ledit « jeton d'horodatage » ou ladite « estampille temporelle » (160).
Dans le cadre de l’invention, chaque élément (310, 311, ..., 31n) de ladite liste chaînée (300) ne devra être utilisé qu’une seule fois. Toute autre personne ou entité, en particulier le système d’horodatage (130), devra être capable de vérifier que l’élément divulgué par l’utilisateur n’est utilisé qu’une seule fois et que cet élément est une fonction du dernier élément précédemment divulgué par l’utilisateur. A titre d’exemple non limitatif, lorsque l’utilisateur divulgue un élément e utilisé dans la génération de la dernière demande contenant de données à horodater, le système d’horodatage doit vérifier que e = F (y), où y était le dernier élément précédemment divulgué par l’utÎlisateur (113) et validé par système d’horodatage (133).
Dans le cadre de l’invention, il est impossible pour tout utilisateur (113) de nier avoir émis les données à horodater (121). Autrement dit, l’élément non divulgué et utilisé à un moment donné par l’utÎlisateur (113) dans la génération du « jeton d'horodatage » ou de la «estampille temporelle» (160) est strictement inconnue que par l’utilisateur (113), ce qui empêche toute personne ou entité de simuler une transmission de données à la place de Γutilisateur (113) en ledit élément non divulgué et utilisé à un moment donné.
En référence à la figure 2, on illustre par la suite un cas générique d'un système d’authentification et de non-répudiation, dans lequel, on décrit à titre d’exemple non limitatif rutilisation d’une KSI pour générer une preuve de l'existence des données (120) à une date donnée lorsque l’utilisateur (113,114,115,116) utilisent le dernier l’élément non divulgué (313, 314, 315, 316) de ladite son liste chaînée (300) et utilisé durant la génération de ses données à horodater (413, 414, 415, 416) à l’aide de cet élément, d’une fonction mathématique ou cryptographique (170) et ses données (513, 514, 515, 516).
Le dernier élément non divulgué est l’élément prédécesseur du dernier élément précédemment divulgué par l’utilisateur.
Le système d’horodatage génère un « jeton d'horodatage » ou d’une « estampille temporelle » (160) constituant une preuve de l'existence des données ou de l’information de l’utilisateur à une date donnée. Le système d’horodatage utilise un calendrier qui sert à l’horodatage (ou en Anglais « timestamp ») des données ou du hachage racine (140) grâce à une chaîne temporelle ou chaîne de hachage (150). La valeur du hachage racine (140) est ensuite publiée dans la chaîne de hachage (150). Les feuilles (113, 114, 115, 116) de l'arbre (180) représentent les utilisateurs ayant de données à horodater. Pour de raisons de simplification et à titre d’exemple non limitatif, on décrit le cas d’un arbre de de hauteur 2. Chaque nœud intermédiaire (111, 112) entre la racine (110) et les feuilles (113, 114, 115, 116) de l’arbre (180) hache (ou compresse, chiffre, etc.) les données reçues de nœuds de niveau inférieur avant de renvoyer le résultat aux nœuds de niveau supérieur. Dans le cas de la KSI, chaque nœud intermédiaire (111,112) applique une fonction de hachage Hash sur les valeurs reçues des nœuds de niveau inférieur.
Cette opération est répétée jusqu'à la racine (110) de l’arbre (180) pour obtenir le hachage racine (140). Le système d’horodatage peut inclure un module apte à signer des données horodatées. Après la publication du jeton d'horodatage (160) dans la chaîne de hachage (150), l’utilisateur (113, 114, 115, 116) divulgue le dernier l’élément non divulgué (313, 314, 315, 316) de ladite son liste chaînée (300) et utilisé durant la génération de ses données à horodater (413, 414,415,416).
L’invention permet à toute personne ou entité à authentifier l’utilisateur (113) en vérifiant que l’élément divulgué (313, 314, 315, 316) est une fonction du dernier élément précédemment divulgué par l’utilisateur (113,114, 115,116). Dans le cadre de l’invention, il est impossible pour chaque utilisateur (113, 114, 115, 116) de nier avoir émis les données à horodater (414, 414, 415, 416,120). Autrement dit, l’élément non divulgué (313,314,315, 316) utilisé par l’utilisateur (113, 114, 115, 116) dans la génération du hachage racine (140) est strictement inconnue que par l’utilisateur (113, 114, 115, 116), ce qui empêche toute autre personne ou entité de simuler une transmission de données à la place de l’utilisateur (113, 114, 115, 116) en utilisant l’élément non divulgué (313,314,315,316) utilisé pari’utilisateur (113, 114, 115, 116).
De même, et dans le cadre de l’invention, il est impossible pour toute autre personne ou entité de prétendre d’être l’utilisateur (113,114,115, 116) après la divulgation de l’élément (313, 314, 315, 316) utilisé par l’utilisateur (113, 114, 115, 116) dans la génération des données (414,
414, 415, 416, 120). Autrement dit, le système d’horodatage devra être capable de sauvegarder tout élément divulgué par chaque utilisateur de manière que toute autre personne ou entité ne pourra reproduire de données à horodater à l’aide d’un élément déjà divulgué sans être détectée par le système d’horodatage (130). A titre d’exemple non limitatif, le système d’horodatage (130) peut vérifier si l’élément divulgué par chaque utilisateur n’est précédemment utilisé en vérifiant que l’élément divulgué est une fonction du dernier élément précédemment divulgué par l’utilisateur.
Les données à horodater (413, 414, 415, 416) de l’utilisateur (113,114,115,116) peuvent être horodatées par toute autre technique d’horodatage. A titre d’exemple non limitatif, le blockchain peut être utilisé pour ajouter ou publier les données ou les transactions de l’utilisateur (113) à une chaîne de blocs. La transaction est alors visible pour toute personne ou entité ainsi que l’ensemble du réseau.

Claims (7)

  1. REVENDICATIONS
    1. Procédé d’authentification et de non-répudiation comprenant :
    - une étape de génération par chaque utilisateur (113) d’une valeur aléatoire ou d’une clé cryptographique SK0 (310), et d’une liste chaînée comprenant plusieurs éléments SKt (311), SK2 (312),..., SKn (3 ln), ladite S Kj est une fonction de SKi_l3 pour tout entier i entre 1 et n, le dernier élément SKn (31n) de ladite liste chaînée sera divulgué et publié par ledit utilisateur (113), chacun des autres éléments ne sera utilisé qu’une seule fois par ledit utilisateur (113) durant l’étape d’application d’une fonction mathématique ou cryptographique (170), et lesdits éléments de ladite liste chaînée sont utilisés dans l’ordre inverse de leur ordre de génération.
    - une étape d’application d’une fonction mathématique ou cryptographique (170) par chaque utilisateur (113) pour générer une valeur à horodater (121), ladite fonction mathématique ou cryptographique liant les données de chaque utilisateur (113) et le dernier élément non divulgué de ladite liste chaînée dudit utilisateur (113),
    - une étape de transmission de la valeur à horodater (121) par chaque utilisateur (113) à un système d’horodatage (130),
    - une étape de génération et de transmission par ledit système d’horodatage (130) d’un «jeton d'horodatage » ou d’une «estampille temporelle» (160) constituant une preuve de l'existence de la valeur à horodater (121) de chaque utilisateur (113) à une date donnée,
    - une étape de divulgation par chaque utilisateur (113) dudit dernier élément non divulgué, utilisé durant l’étape d’application d’une fonction mathématique ou cryptographique (170), permettant audit System d’horodatage (130) de vérifier que ledit élément divulgué est une fonction de son élément successeur dans ladite liste chaînée, et de valider ladite valeur à horodater (121) à l’aide dudit dernier élément divulgué et de ladite fonction mathématique ou cryptographique (170), et de publier dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160) par ledit système d’horodatage (130).
  2. 2. Procédé selon la revendication 1, dans lequel l’étape de divulgation comprennent une étape d’authentification d’utilisateurs (113,114,115,116) par ledit système d’horodatage (130) ou toute autre personne ou entité, permettant de décider si un utilisateur (113, 114, 115, 116) dispose ou non de l'autorité pour effectuer une transaction ou une requête contenant des données à horodater, en vérifiant que ledit élément divulgué par ledit utilisateur est une fonction de l’élément successeur dans ladite liste chaînée (300) ou du dernier élément précédemment divulgué par ledit utilisateur durant une étape de divulgation.
  3. 3. Système d’authentification et de non-répudiation comprenant :
    - des moyens de génération par chaque utilisateur (113) d’une valeur aléatoire ou d’une clé cryptographique SK0 (310), et d’une liste chaînée comprenant plusieurs éléments SKX (311), SK2 (312),..., SKn (3 ln), ladite S K; est une fonction de S K, _l5 pour tout entier i entre 1 et n, le dernier élément SKn (3 ln) de ladite liste chaînée sera divulgué et publié par ledit utilisateur (113), chacun des autres éléments ne sera utilisé qu’une seule fois par ledit utilisateur (113) durant application d’une fonction mathématique ou cryptographique (170), et lesdits éléments de ladite liste chaînée sont utilisés dans l’ordre inverse de leur ordre de génération.
    - des moyens d’application d’une fonction mathématique ou cryptographique (170) par chaque utilisateur (113) pour générer une valeur à horodater (121), ladite fonction mathématique ou cryptographique liant les données de chaque utilisateur (113) et le dernier élément non divulgué de ladite liste chaînée dudit utilisateur (113),
    - des moyens de transmission de la valeur à horodater (121) par chaque utilisateur (113) à un système d’horodatage (130),
    - des moyens de génération et de transmission par ledit système d’horodatage (130) d’un « jeton d'horodatage » ou d’une « estampille temporelle » (160) constituant une preuve de l'existence de la valeur à horodater (121) de chaque utilisateur (113) à une date donnée,
    - des moyens de divulgation par chaque utilisateur (113) dudit dernier élément non divulgué, utilisé durant application d’une fonction mathématique ou cryptographique (170), permettant audit System d’horodatage (130) de vérifier que ledit élément divulgué est une fonction de son élément successeur dans ladite liste chaînée, et de valider ladite valeur à horodater (121) à l’aide dudit dernier élément non divulgué et de ladite fonction mathématique ou cryptographique (170), et de publier dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160) par ledit système d’horodatage (130).
  4. 4. Système selon la revendication 3, dans lequel les moyens de divulgation comprennent des moyens d’authentification d’utilisateurs (113,114,115, 116) par ledit système d’horodatage (130) ou toute autre personne ou entité, permettant de décider si un utilisateur (113, 114, 115, 116) dispose ou non de l'autorité pour effectuer une transaction ou une requête contenant des données à horodater, en vérifiant que ledit élément divulgué par ledit utilisateur est une fonction de l’élément successeur dans ladite liste chaînée (300) ou du dernier élément précédemment divulgué par ledit utilisateur durant une étape de divulgation.
  5. 5. Terminal système d’horodatage (130) raccordé à un réseau (151) de transmission d’informations, ledit terminal système d’horodatage comprenant :
    - des moyens de mémorisation de données reçues de chaque utilisateur (113),
    - des moyens de génération et de publication d’un « jeton d'horodatage » ou d’une « estampille temporelle » (160) constituant une preuve de l'existence de la valeur à horodater (121) dudit utilisateur (113) à une date donnée,
    - des moyens de vérification que ledit élément divulgué est une fonction de son élément successeur dans ladite liste chaînée dudit utilisateur (113) ou du dernier élément précédemment divulgué par ledit utilisateur,
    - des moyens de vérification que ledit élément divulgué par ledit utilisateur (113) n’est utilisé qu’une seule fois par ledit utilisateur (113),
    - des moyens d’authentification d’utilisateurs (113, 114, 115, 116) en vérifiant que ledit élément divulgué par ledit utilisateur est une fonction de l’élément successeur dans ladite liste chaînée (300) ou du dernier élément précédemment divulgué par ledit utilisateur,
    - des moyens de validation de ladite valeur à horodater (121) à l’aide de ladite fonction mathématique ou cryptographique (170) et dudit dernier élément divulgué par ledit utilisateur (Π3).
  6. 6. Terminal utilisateur (113) raccordé à un réseau (151) de transmission d’informations, ledit terminal utilisateur comprenant :
    - des moyens de vérification de l’intégrité et de l’authenticité dudit «jeton d'horodatage » ou de ladite « estampille temporelle » (160),
    - des moyens de mémorisation dudit « jeton d'horodatage » ou de ladite « estampille temporelle » (160) constituant une preuve de l'existence de ladite valeur à horodater (121) dudit utilisateur (113) à une date donnée,
    - des moyens de génération de ladite liste chaînée comprenant plusieurs éléments SK0 (310), SK-l (311), SK2 (312),..., SKn (31 n), ladite SKj est une fonction de SK^-l, pour tout entier 0 entre 1 et n,
    - des moyens de génération de ladite valeur à horodater (121) à l’aide dudit dernier élément non divulgué par ledit utilisateur (113) et de ladite fonction mathématique ou cryptographique (170).
    - des moyens de divulgation et de publication dudit dernier élément non divulgué, utilisé durant l’étape d’application d’une fonction mathématique ou cryptographique (170),
  7. 7. Programme d'ordinateur caractérise en ce qu'il comprend des instructions de code de programme pour l'exécution du procédé d’authentification et de non-répudiation selon l’une de revendications 1 à 2, lorsqu'il est exécuté sur un terminal système d’horodatage (130).
    1/2
    LISTE DES FIGURES
FR1770416A 2017-04-24 2017-04-24 Procede et systeme d’authentification et de non-repudiation Pending FR3065552A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1770416A FR3065552A1 (fr) 2017-04-24 2017-04-24 Procede et systeme d’authentification et de non-repudiation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1770416 2017-04-24
FR1770416A FR3065552A1 (fr) 2017-04-24 2017-04-24 Procede et systeme d’authentification et de non-repudiation

Publications (1)

Publication Number Publication Date
FR3065552A1 true FR3065552A1 (fr) 2018-10-26

Family

ID=61003272

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1770416A Pending FR3065552A1 (fr) 2017-04-24 2017-04-24 Procede et systeme d’authentification et de non-repudiation

Country Status (1)

Country Link
FR (1) FR3065552A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
US20170104598A1 (en) * 2015-02-20 2017-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods of providing a hash value, and of deriving a time stamp for a piece of data, electronic device, server, network node and computer programs
US20170109735A1 (en) * 2015-07-14 2017-04-20 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
US20170104598A1 (en) * 2015-02-20 2017-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods of providing a hash value, and of deriving a time stamp for a piece of data, electronic device, server, network node and computer programs
US20170109735A1 (en) * 2015-07-14 2017-04-20 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BULDAS AHTO ET AL: "Keyless Signatures' Infrastructure: How to Build Global Distributed Hash-T", 18 October 2013, ECCV 2016 CONFERENCE; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 313 - 320, ISBN: 978-3-642-33485-6, ISSN: 0302-9743, XP047042702 *

Similar Documents

Publication Publication Date Title
Yu et al. DTKI: A new formalized PKI with verifiable trusted parties
FR2855343A1 (fr) Procede de signature electronique de groupe avec anonymat revocable, equipements et programmes pour la mise en oeuvre du procede
Song et al. Blockchain-based notarization for social media
EP3174241B1 (fr) Méthode d&#39;établissement d&#39;une communication sécurisée de bout en bout entre le terminal d&#39;un utilisateur et un objet connecté
CN107124281B (zh) 一种数据保全方法和相关系统
CN110661610A (zh) 安全多方计算协议的输入获取方法和装置
FR2854294A1 (fr) Procede de signature electronique avec mecanisme de delegation, equipements et programmes pour la mise en oeuvre du procede
WO2011117486A1 (fr) Infrastructure non hierarchique de gestion de bi-cles de securite de personnes physiques
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
WO2009130089A1 (fr) Procede de diffusion securisee de donnees numeriques vers un tiers autorise
EP2345202A2 (fr) Procédé de signature numérique en deux étapes
WO2019030436A1 (fr) Procédé et serveur de certification d&#39;un document électronique
EP3803670A1 (fr) Une application logicielle et un serveur informatique pour authentifier l&#39;identité d&#39;un créateur de contenu numérique et l&#39;intégrité du contenu du créateur publié
CN113743939A (zh) 基于区块链的身份认证方法、装置及系统
FR2930391A1 (fr) Terminal d&#39;authentification d&#39;un utilisateur.
FR3003713A1 (fr) Signature de groupe utilisant un pseudonyme
FR3059802A1 (fr) Procede de generation d&#39;une signature electronique d&#39;un document associe a un condensat
FR3035248A1 (fr) Systeme-sur-puce a fonctionnement securise et ses utilisations
KR102462411B1 (ko) 전자 신원확인 및 인증 서비스(eidas)를 위한 전자 공고를 인증하는 플랫폼 및 방법
FR3065552A1 (fr) Procede et systeme d’authentification et de non-repudiation
EP3785403A1 (fr) Procédé d&#39;élaboration de données d&#39;utilisation de relais utilisés au cours d&#39;une communication entre deux appareils, de recherche desdites données, et appareils associés
EP2689552B1 (fr) Infrastructure non hiérarchique de gestion de bi-clés de sécurité de personnes physiques ou d&#39;éléments (igcp/pki).
EP3503500B1 (fr) Procédé pour créer une signature électronique à distance au moyen du protocole fido
FR3141538A1 (fr) Procede et dispositif de stockage en ligne reparti de fichiers dans un contexte zero confiance
WO2023203301A1 (fr) Procédé et système de gestion des droits d&#39;accès dans une transaction équitable de données numériques

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20181026