FR3086829A1 - SECURE TEMPORAL ESTIMATE - Google Patents

SECURE TEMPORAL ESTIMATE Download PDF

Info

Publication number
FR3086829A1
FR3086829A1 FR1858872A FR1858872A FR3086829A1 FR 3086829 A1 FR3086829 A1 FR 3086829A1 FR 1858872 A FR1858872 A FR 1858872A FR 1858872 A FR1858872 A FR 1858872A FR 3086829 A1 FR3086829 A1 FR 3086829A1
Authority
FR
France
Prior art keywords
block
synchronization
server
time
series
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.)
Granted
Application number
FR1858872A
Other languages
French (fr)
Other versions
FR3086829B1 (en
Inventor
Andrzej Duda
Faten Mkacher
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.)
Scptime Fr
Centre National de la Recherche Scientifique CNRS
Institut Polytechnique de Grenoble
Universite Grenoble Alpes
Original Assignee
GORGY TIMING
Centre National de la Recherche Scientifique CNRS
Institut Polytechnique de Grenoble
Universite Grenoble Alpes
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 GORGY TIMING, Centre National de la Recherche Scientifique CNRS, Institut Polytechnique de Grenoble, Universite Grenoble Alpes filed Critical GORGY TIMING
Priority to FR1858872A priority Critical patent/FR3086829B1/en
Priority to PCT/EP2019/076014 priority patent/WO2020064920A1/en
Priority to EP19773112.8A priority patent/EP3857843A1/en
Publication of FR3086829A1 publication Critical patent/FR3086829A1/en
Application granted granted Critical
Publication of FR3086829B1 publication Critical patent/FR3086829B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • 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

Abstract

La présente invention concerne un procédé de production d'une estimation temporelle au moyen d'un dispositif électronique (402) comprenant une interface de réseau pour communiquer à travers un réseau de communication, ce procédé comprenant : la demande, par le dispositif électronique (402) à un nœud (404) d'un réseau de chaînes de blocs (406), d'en-têtes d'une série de blocs d'une chaîne de blocs (BC) ; l'extraction d'un horodatage de l'en-tête d'un bloc le plus récent de la série ; et la production de l'estimation temporelle à partir de l'horodatage extrait.The present invention relates to a method for producing a time estimate by means of an electronic device (402) comprising a network interface for communicating through a communication network, this method comprising: the request, by the electronic device (402 ) at a node (404) of a network of block chains (406), of headers of a series of blocks of a block chain (BC); extracting a timestamp from the header of a most recent block in the series; and producing the time estimate from the extracted timestamp.

Description

DESCRIPTIONDESCRIPTION

TITRE : ESTIMATION TEMPORELLE TITLE: TEMPORAL ESTIMATE SECURISEE SECURE

Domaine techniqueTechnical area

[0001] La présente invention concerne The present invention relates en générale les dis- in general the

positifs électroniques adaptés à communiquer par des réseaux de communication, un protocole de synchronisation temporelle sécurisé et un dispositif et un procédé d'obtention sécurisée d'une estimation temporelle.electronic positives suitable for communicating via communication networks, a secure time synchronization protocol and a device and method for obtaining a secure time estimate.

Technique antérieurePrior art

[0002] La figure 1 illustre schématiq' Figure 1 illustrates schematically uement un système 100 a 100 system de synchronisation temporelle. Le time synchronization. The système comprend un system includes a serveur de synchronisation (TS) et ui synchronization server (TS) and ui n dispositif client de n client device

synchronisation (TC) qui communiquent à travers un réseausynchronization (TC) that communicate across a network

de communication. Le dispositif die Communication. The die device :nt de: synchronisation : nt of: synchronization TC est une entité de réseau qui TC is a network entity which souhaite obtenir une wish to get a s y n c h r ο n i s a t i o n t e mp o r e 11 e s é c u r i .s é s y n c h r ο n i s a t i o n t e mp o r e 11 e s c u r i. e, par exemple, pour e, for example, for synchroniser son horloge locale 10 synchronize your local clock 10 2 avec une référence 2 with a reference précise. Pour ce faire, il cont precise. To do this, it cont :acte le serveur de : act the server of

synchronisation TS par l'intermédiaire du réseau de corn-TS synchronization via the cornetwork

munication au moyen d'un protocol munication using a protocol e de synchronisation synchronization e temporelle (TIME SYNC), tel que le pr TIME SYNC, such as pr otocole d'heure réseau network time otocole

NTP : network time protocol).NTP: network time protocol).

[0003] Ce serveur de synchronisation T: This synchronization server T: 3 comprend par exemple 3 includes for example une source de synchronisation crée a synchronization source creates ise 104, telle qu ' un ise 104, such as a

oscillateur micro-atomique ou d'autres moyens de maintien d'une référence temporelle précise.micro-atomic oscillator or other means of maintaining a precise time reference.

004] Le dispositif client de synchronisation TC peut de-004] The TC synchronization client device can

m a n d e r u n e s yn c h r ο n i s a t i ο n t e mp o r e1) m a n d e r u n e s yn c h r ο n i s a t i οn t e mp o r e) Le au serveur de syn- The to the syn- server chronisation TS pendant une phase d': TS chronization during a phase of: ïn i t i a1i s a 11on s u i van t ïn i t i a1i s a 11on s u i van t

une première activation du client de synchronisation TC, cette opération pouvant être répétée à intervallesa first activation of the synchronization client TC, this operation can be repeated at intervals

réguliers pour assurer une synchronie regular to ensure synchrony ation temporelle entre temporal ation between

B17674 l’horloge locale 102 du dispositif client de synchronisation TC et la source de synchronisation précise 104 du serveur de synchronisation TS.B17674 the local clock 102 of the synchronization client TC and the precise synchronization source 104 of the synchronization server TS.

0005] La figure 1 illustre le cas d’un seul dispositif client de synchronisation TC. Toutefois, le dispositif0005] Figure 1 illustrates the case of a single TC synchronization client device. However, the device

client de customer of synchronisation TC et TC synchronization and le the serveur server de synchro- synchro- nisation TS nization TS ! peuvent faire partie ! can be part d'ui from then a réseau has network relativement relatively grand dans great in leguel se trouvent leguel lie de of nombreux numerous dispositifs devices

clients de synchronisation TC servis par le serveur de synchronisation TS . Par exemple, pour les applications telles que la dissémination de temps légal certifié pour les transactions commerciales, il peut exister de nombreux points de vente demandant une synchronisation temporelle. Cependant, on a observé que lorsqu’un serveur de synchronisation TS doit fournir des services à de nombreux dispositifs clients de synchronisation, les capacités du serveur de synchronisation TS peuvent se trouver surchargées et entraîner des retards de synchronisation ou même des échecs de synchronisation. La fourniture d'un système adapté à traiter des demandes en provenance de nombreux dispositifs clients de synchronisation dans un réseau pose un problème technique.TC synchronization clients served by the TS synchronization server. For example, for applications such as the dissemination of certified legal time for business transactions, there may be many outlets requesting time synchronization. However, it has been observed that when a TS synchronization server has to provide services to many synchronization client devices, the capacities of the TS synchronization server can be overloaded and cause synchronization delays or even synchronization failures. Providing a system suitable for handling requests from numerous synchronization client devices in a network poses a technical problem.

[0006] Un autre problème technique du système de la figure 1 est que pour authentifier le serveur de synchronisation, il faut généralement vérifier le certificat du serveur, y compris sa période de validité. Cependant, lors de l'activation initiale du dispositif client de synchronisation TC, ce dispositif peut n'avoir aucune notion du temps. Ceci entraîne une situation Catch-22 dans laquelle le dispositif client de synchronisation TC devrait avoir une notion préalable de l'heure pour valider le certificat du serveur de synchronisation mais où l'obtention d'informations temporelles en provenance du serveur deAnother technical problem of the system of FIG. 1 is that in order to authenticate the synchronization server, it is generally necessary to check the certificate of the server, including its period of validity. However, during the initial activation of the TC synchronization client device, this device may have no notion of time. This results in a Catch-22 situation in which the synchronization client device TC should have a prior notion of the time to validate the certificate of the synchronization server but where obtaining temporal information from the synchronization server.

B17674 synchronisation TS demande une validation préalable du certificat.B17674 TS synchronization requests prior validation of the certificate.

Résumé de l'invention [0007] Un objet de modes de réalisation de la présente description est de répondre à un ou plusieurs problèmes de 1'art antérieur.SUMMARY OF THE INVENTION An object of embodiments of the present description is to respond to one or more problems of the prior art.

[0008] Selon un aspect, la présente invention prévoit un dispositif client de synchronisation comprenant une interface de réseau pour communiquer à travers un réseau de communication, le client de synchronisation étant configuré de manière à : recevoir, à travers le réseau de communication, en provenance d'un serveur d'authentification, une première clé et une première valeur contenant la première clé sous forme cryptée ; produire une deuxième valeur au moyen de la première clé ; et pendant une phase de synchronisation temporelle, transmettre à un serveur de synchronisation les première et deuxième valeurs.According to one aspect, the present invention provides a synchronization client device comprising a network interface for communicating through a communication network, the synchronization client being configured so as to: receive, through the communication network, in coming from an authentication server, a first key and a first value containing the first key in encrypted form; producing a second value using the first key; and during a time synchronization phase, transmitting the first and second values to a synchronization server.

[0009] Selon un mode de réalisation, le dispositif client de synchronisation est configuré, pendant la phase de synchronisation temporelle, de manière à : transmettre la première valeur au serveur de synchronisation dans un premier message comprenant un premier horodatage ; et transmettre la deuxième valeur au serveur de synchronisation dans un deuxième message.According to one embodiment, the synchronization client device is configured, during the time synchronization phase, so as to: transmit the first value to the synchronization server in a first message comprising a first timestamp; and transmit the second value to the synchronization server in a second message.

[0010] Selon un mode de réalisation, la deuxième valeur est un code d'authentification de message du premier message produit au moyen de la première clé.According to one embodiment, the second value is a message authentication code of the first message produced by means of the first key.

[0011] Selon un mode de réalisation, la première valeur contient en outre une indication de l'algorithme de cryptage à utiliser pour produire la deuxième valeur.According to one embodiment, the first value also contains an indication of the encryption algorithm to be used to produce the second value.

B17674B17674

0012] Selon un mode de réalisation, le dispositif client de synchronisation est par ailleurs configuré de manière à transmettre à travers le réseau de communication une requête à un serveur d'authentification pour obtenir la première clé et la première valeur, cette requête contenant un identifiant du dispositif client de synchro-nisation, l'identifiant étant par exemple une adresse IP (Internet Protocol : Protocole internet).According to one embodiment, the synchronization client device is also configured so as to transmit a request through the communication network to an authentication server to obtain the first key and the first value, this request containing an identifier of the synchronization client device, the identifier being for example an IP address (Internet Protocol: Internet protocol).

[0013] Selon un mode de réalisation, le dispositif client de synchronisation est configuré de manière à comprendre par ailleurs dans la requête un identifiant du serveur de synchronisation, l'identifiant du serveur de synchronisation étant par exemple une adresse IP.According to one embodiment, the synchronization client device is configured so as to further comprise in the request an identifier of the synchronization server, the identifier of the synchronization server being for example an IP address.

[0014] Selon un mode de réalisation, la première valeur est cryptée au moyen d'une deuxième clé inconnue du dispositif c 1 i e n t d e s y n c h r ο n i .s a t i ο n.According to one embodiment, the first value is encrypted by means of a second unknown key of the device c 1 i e n t d e s y n c h r ο n i .s a t i ο n.

[0015] Selon un mode de réalisation, le dispositif client de synchronisation est de plus configuré de manière à : recevoir du serveur de synchronisation un troisième message contenant un ou plusieurs horodatages ; recevoir du serveur de synchronisation une troisième valeur correspondant à : un premier code d'authentification d'au moins une partie du premier message et/ou d'au moins une partie du troisième message produit au moyen de la première clé ; ou une signature numérique d'au moins une partie du premier message et/ou d'au moins une partie du troisième message produit à partir d'une clé privée ; et 1'au-thentification du troisième message en vérifiant la troisième valeur à partir de la première clé ou d'une clé publique.According to one embodiment, the synchronization client device is further configured so as to: receive from the synchronization server a third message containing one or more time stamps; receiving from the synchronization server a third value corresponding to: a first authentication code of at least part of the first message and / or at least part of the third message produced by means of the first key; or a digital signature of at least part of the first message and / or at least part of the third message produced from a private key; and authenticating the third message by checking the third value from the first key or a public key.

[0016] Selon un mode de réalisation, le dispositif client de synchronisation est de plus configuré de manière à : produire une estimation temporelle en demandant à un nœudAccording to one embodiment, the synchronization client device is further configured so as to: produce a time estimate by asking a node

B17674 d'un réseau de chaînes de blocs des en-têtes d'une série de blocs d'une chaîne de blocs, extraire un horodatage de l'en-tête d'un bloc le plus récent de la série ; et produire l'estimation temporelle à partir de 1'horodatage extrait ; et valider un certificat d'authentification du serveur d'authentification à partir de l'estimation temporelle.B17674 of a network of block chains of the headers of a series of blocks of a block chain, extract a timestamp from the header of a most recent block in the series; and producing the time estimate from the extracted timestamp; and validating an authentication certificate of the authentication server from the time estimate.

[0017] Selon un autre aspect, la présente invention prévoit un système de synchronisation temporelle comprenant : un serveur d'authentification comprenant une interface de réseau pour communiquer à travers un réseau de communication, le serveur d'authentification étant configuré de manière à transmettre à travers le réseau de communi-cation à une premier dispositif client de synchronisation une première clé et une première valeur contenant la première clé sous forme cryptée ; et un serveur de synchronisation configuré de manière à recevoir du premier dispositif client de synchronisation, lors d'une phase de synchronisation temporelle, la première valeur et une deuxième valeur produite au moyen de la première clé, le serveur de synchronisation étant configuré de manière à authentifier le premier dispositif client de synchronisation à partir de la deuxième valeur.In another aspect, the present invention provides a time synchronization system comprising: an authentication server comprising a network interface for communicating through a communication network, the authentication server being configured so as to transmit to through the communication network to a first synchronization client device a first key and a first value containing the first key in encrypted form; and a synchronization server configured so as to receive from the first synchronization client device, during a time synchronization phase, the first value and a second value produced by means of the first key, the synchronization server being configured so as to authenticate the first synchronization client device from the second value.

[0018] Selon un mode de réalisation : le serveur d'authentification est par ailleurs configuré de manière à transmettre à travers le réseau de communication à un deuxième dispositif client de synchronisation une troisième clé et une troisième valeur contenant la troisième clé sous forme cryptée ; et le serveur de synchronisation est par ailleurs configuré de manière à recevoir du deuxième dispositif client de synchronisation, pendant une phase de synchronisation temporelle, la troisième valeur et une quatrième valeur produite au moyen de la troisième clé, le serveur de synchronisation étant confi-guré deAccording to one embodiment: the authentication server is also configured so as to transmit through the communication network to a second synchronization client device a third key and a third value containing the third key in encrypted form; and the synchronization server is also configured so as to receive from the second synchronization client device, during a time synchronization phase, the third value and a fourth value produced by means of the third key, the synchronization server being configured. of

B17674 manière à authentifier le deuxième dispositif client de synchronisation à partir de la quatrième valeur.B17674 so as to authenticate the second synchronization client device from the fourth value.

[0019] Selon un autre aspect, la présente invention prévoit un procédé d'obtention d'une synchronisation temporelle par un dispositif client de synchronisation comprenant une interface de réseau pour coiæruniquer à travers un réseau de communication, ce procédé comprenant : la réception, à travers le réseau de communication en provenance d'un serveur d'authentification, d'une première clé et d'une première valeur contenant la première clé sous forme cryptée ; la production, par le dispositif client de synchronisation, d'une deuxième valeur au moyen de la première clé ; et pendant une phase de synchronisation temporelle, la transmission par le dispositif client de synchronisation des première et deuxième valeurs à un serveur de synchronisation.According to another aspect, the present invention provides a method for obtaining time synchronization by a synchronization client device comprising a network interface for communicating through a communication network, this method comprising: reception, at through the communication network from an authentication server, a first key and a first value containing the first key in encrypted form; the production, by the synchronization client device, of a second value by means of the first key; and during a time synchronization phase, the transmission by the synchronization client device of the first and second values to a synchronization server.

[0020] Selon encore un autre aspect, la présente invention prévoit un procédé de synchronisation temporelle par un système de synchronisation temporelle, ce procédé comprenant : la transmission, par un serveur d'authenti-fication à travers un réseau de communication à un dispositif client de synchronisation, d'une première clé et d'une première valeur contenant la première clé sous forme cryptée ; pendant une phase de synchronisation temporelle, la réception par un serveur de synchronisation en provenance du dispositif client de synchronisation de la première valeur et d'une deuxième valeur produite au moyen de la première clé ; et l'authentification, par le serveur de synchronisation, du dispositif client de synchronisation à partir de la deuxième valeur.According to yet another aspect, the present invention provides a time synchronization method by a time synchronization system, this method comprising: the transmission, by an authentication server through a communication network to a client device synchronization, a first key and a first value containing the first key in encrypted form; during a time synchronization phase, the reception by a synchronization server from the synchronization client device of the first value and of a second value produced by means of the first key; and authentication, by the synchronization server, of the synchronization client device from the second value.

0021] Selon un autre aspect, la présente invention prévoit un procédé de production d'une estimation temporelle auIn another aspect, the present invention provides a method of producing a time estimate at

B17674 moyen d'un dispositif électronique comprenant une interface de réseau pour communiquer à travers un réseau de communication, ce procédé comprenant : la demande, par le dispositif électronique à un nœud d'un réseau de chaînes de blocs, d'en-têtes d'une série de blocs d'une chaîne de blocs ; l'extraction d'un horodatage de l'en-tête d'un bloc le plus récent de la série ; et produire une estimation temporelle à partir de 1'horodatage extrait.B17674 means of an electronic device comprising a network interface for communicating through a communication network, this method comprising: the request, by the electronic device to a node of a blockchain network, of headers of 'a series of blocks in a block chain; extracting a timestamp from the header of a most recent block in the series; and produce a time estimate from the extracted timestamp.

[0022] Selon un mode de réalisation, le procédé consiste en outre à : demander à un autre nœud du réseau de chaînes de blocs des en-têtes de la série de blocs de la chaîne de blocs ; et extraire un autre horodatage de 1'en-tête du bloc le plus récent de la série, dans lequel la production de l'estimation temporelle est en outre basée sur l'autre horodatage.According to one embodiment, the method further comprises: requesting another node of the blockchain network from the headers of the series of blocks in the blockchain; and extracting another timestamp from the header of the most recent block in the series, wherein the production of the time estimate is further based on the other timestamp.

[0023] selon un mode de réalisation, la chaîne de blocs comprend une chaîne de blocs allant d'un bloc d'origine à un N-ème bloc produit le plus récemment, l'en-tête du bloc le plus récent de la série étant un (N-j ) -ème bloc de la chaîne de blocs, j étant compris entre 6 et 15.According to one embodiment, the block chain comprises a block chain going from an original block to an N-th block produced most recently, the header of the most recent block in the series being a (Nj) -th block of the block chain, j being between 6 and 15.

[0024] Selon un mode de réalisation, chaque bloc de la chaîne de blocs, hormis le bloc d'origine, comprend une empreinte d'un bloc précédent de la chaîne.According to one embodiment, each block of the block chain, apart from the original block, comprises an imprint of a previous block of the chain.

[0025] Selon un mode de réalisation, la chaîne de blocs est la chaîne de blocs d'une crypto-monnaie.According to one embodiment, the block chain is the block chain of a cryptocurrency.

[0026] Selon un autre aspect, la présente invention prévoit un procédé de vérification d'un certificat d'authentification comprenant : la production d'une estimation temporelle selon le procédé ci-dessus ; et la vérification par le dispositif électronique de la validité temporelle du certificat d'authentification à partir de 1'estimation temoorelle oroduite.In another aspect, the present invention provides a method of verifying an authentication certificate comprising: producing a time estimate according to the above method; and verification by the electronic device of the temporal validity of the certificate of authentication from the estimated temoorelle oroduite.

B17674B17674

0027] Selon encore un autre aspect, la présente invention prévoit un dispositif électronique comprenant une interface de réseau pour coirimuniquer à travers un réseau de communication, le dispositif électronique étant configuré de manière à : demander à un nœud d'un réseau de chaînes de blocs des en-têtes d'une série de blocs d'une chaîne de blocs ; extraire un horodatage de l'en-tête d'un bloc le plus récent de la série ; et produire une estimation temporelle à partir de 1'horodatage extrait.According to yet another aspect, the present invention provides an electronic device comprising a network interface for communicating through a communication network, the electronic device being configured so as to: request a node from a blockchain network headers of a series of blocks in a blockchain; extract a timestamp from the header of a most recent block in the series; and produce a time estimate from the extracted timestamp.

[0028] Selon un mode de réalisation, le dispositif électronique est de plus configuré de manière à : demander à un autre nœud du réseau de chaînes de blocs des en-têtes de la série de blocs de la chaîne de blocs ; et extraire un autre horodatage de l'en-tête du bloc le plus récent de la série, dans lequel la production de l'estimation temporelle s'effectue en outre à partir de l'autre horodatage.According to one embodiment, the electronic device is further configured so as to: ask another node of the blockchain network for headers of the series of blocks in the blockchain; and extracting another timestamp from the header of the most recent block in the series, in which the production of the time estimate is additionally performed from the other timestamp.

[0029] Selon un mode de réalisation, la chaîne de blocs comprend une chaîne de blocs allant d'un bloc d'origine à un N-ème bloc produit le plus récemment, l'en-tête du bloc le plus récent de la série étant un (N- j ) -ème bloc de la chaîne de blocs, j étant compris entre 6 et 15.According to one embodiment, the block chain comprises a block chain going from an original block to an N-th block produced most recently, the header of the most recent block in the series being a (N- j) -th block of the block chain, j being between 6 and 15.

[0030] Selon un mode de réalisation, le dispositif électronique est par ailleurs configuré de manière à vérifier la validité temporelle d'un certificat d'authentification à partir de l'estimation temporelle produite.According to one embodiment, the electronic device is also configured so as to check the time validity of an authentication certificate from the time estimate produced.

Brève description des dessins [0031] Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :Brief description of the drawings These characteristics and advantages, as well as others, will be explained in detail in the following description of particular embodiments given without limitation in relation to the attached figures, among which:

B17674 [0032] [Fig. 1] la figure s chémat i quement un s y s t. ème [0033] [Fig. 2] la figure s y s t è m e d e s y n c h r ο n i s a t i ο n réalisation de la présenteB17674 [Fig. 1] the figure s thematically a s y s t. th [Fig. 2] the figure s y s t è m e des y n c h r ο n i s a t i ο n realization of this

L (décrite ci-dessus) illustre de synchronisation temporelle ;L (described above) illustrates time synchronization;

illustre schématiquement un temporelle selon un exemple de invention ;schematically illustrates a temporal according to an example of invention;

[0034] [Fig. 3] a figure 3 représente des communications entre entités de réseau dans le système de la figure 2 selon un exemple de réalisation de la présente invention ;[Fig. 3] Figure 3 shows communications between network entities in the system of Figure 2 according to an exemplary embodiment of the present invention;

[0035] [Fig. 4] la figure 4 illustre schématiquement un système de production sécurisée d'une estimation temporelle selon un exemple de réalisation de la présente invention ;[Fig. 4] FIG. 4 schematically illustrates a system for the secure production of a time estimate according to an exemplary embodiment of the present invention;

[0036] [Fig. 5] la figure 5 représente une chaîne de blocs selon un exemple de réalisation de la présente invention ;[Fig. 5] FIG. 5 represents a block chain according to an exemplary embodiment of the present invention;

[0037] [Fig. 6] la figure 6 est un organigramme représentant des opérations d'un procédé de production sécurisée d'une estimation temporelle selon un exemple de réalisation de la présente invention ; et [0038] [Fig. 7] la figure 7 illustre schématiquement un dispositif client de synchronisation selon un exemple de réalisation de la présente invention.[Fig. 6] FIG. 6 is a flowchart representing operations of a method for the secure production of a time estimate according to an exemplary embodiment of the present invention; and [Fig. 38] 7] Figure 7 schematically illustrates a client synchronization device according to an exemplary embodiment of the present invention.

Description des modes de réalisationDescription of the embodiments

0039] De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques.The same elements have been designated by the same references in the different figures. In particular, the structural and / or functional elements common to the various embodiments may have the same references and may have identical structural, dimensional and material properties.

[0040] Sauf indication contraire, on utilise le terme connecté pour désigner une connexion électrique directe entre éléments de circuit, tandis que l'on utilise le terme relié ou couplé pour désigner une connexion électriqueUnless otherwise indicated, the term connected is used to denote a direct electrical connection between circuit elements, while the term connected or coupled is used to denote an electrical connection.

B17674 entre éléments de circuit qui peut être directe ou s'effectuer par l'intermédiaire d'un ou plusieurs éléments.B17674 between circuit elements which can be direct or can be carried out via one or more elements.

[0041] Sauf précision contraire, les expressions environ, approximativement, sensiblement et de l'ordre de signifient à 10% près, de préférence à 5% près.Unless otherwise specified, the expressions approximately, approximately, substantially and of the order of mean to within 10%, preferably to within 5%.

[0042] La figure 2 illustre schématiquement un système 200 de synchronisation temporelle selon un exemple de réalisation de la présente invention.Figure 2 schematically illustrates a time synchronization system 200 according to an exemplary embodiment of the present invention.

[0043] Le système 200 comprend des dispositifs clients de synchronisation TCI et TC2 comprenant chacun une horloge locale 102 semblable à celle du dispositif client de synchronisation TC de la figure 1. En outre, chacun des dispositifs TCI, TC2 comprend par exemple une interface de réseau pour communiquer à travers un réseau avec un serveur de synchronisation TS. Ce réseau est par exemple un réseau à commutation de paquets comprenant par exemple un ou plusieurs réseaux locaux (LAN) , réseaux locaux sans fil (WLAN) et/ou internet. Bien que l'exemple illustré comprenne deux dispositifs clients de synchronisation, en pratique, le serveur de synchronisation TS peut servir de nombreux dispositif client de synchronisation, par exemple des centaines ou même des milliers de tels dispositifs. Dans un exemple de réalisation, les dispositifs clients de synchronisation TCI, TC2 sont des points de vente et le serveur de synchronisation TS dissémine du temps légal certifié aux points de vente pour les transactions commerciales.The system 200 comprises client synchronization devices TCI and TC2 each comprising a local clock 102 similar to that of the client synchronization device TC of FIG. 1. In addition, each of the devices TCI, TC2 comprises for example an interface for network to communicate over a network with a TS synchronization server. This network is for example a packet switched network comprising for example one or more local networks (LAN), wireless local area networks (WLAN) and / or the Internet. Although the example illustrated includes two synchronization client devices, in practice, the synchronization server TS can serve many synchronization client devices, for example hundreds or even thousands of such devices. In an exemplary embodiment, the synchronization client devices TCI, TC2 are points of sale and the synchronization server TS disseminates certified legal time at the points of sale for commercial transactions.

[0044] Le serveur de synchronisation TS est semblable au serveur de synchronisation de la figure 1 et comprend une source de synchronisation 104 relativement précise, qui comprend par exemple un micro-oscillateur atomique ou d'autres moyens de maintien d'une référence temporelleThe synchronization server TS is similar to the synchronization server of FIG. 1 and comprises a relatively precise synchronization source 104, which for example comprises an atomic micro-oscillator or other means for maintaining a time reference

B17674 précise. Dans certains modes de réalisation, la source de synchronisation 104 est basée sur un oscillateur au rubidium ou un OCXO (oscillateur à quartz thermostaté) , mais d'autres types d'oscillateur sont possibles.B17674 specifies. In some embodiments, the synchronization source 104 is based on a rubidium oscillator or an OCXO (thermostatically controlled quartz oscillator), but other types of oscillator are possible.

[0045] Le systèmeThe system

200 comprend en outre un serveur d'authentification AS, comprenant par exemple une horloge locale orécise 202.200 further comprises an authentication server AS, for example comprising a local orecise clock 202.

[0046] Chacun des clients de synchronisation TCI et. TC2 peut demander une synchronisation temporelle au serveur de synchronisation TS. Par exemple, de telles demandes peuvent se produire quand le dispositif TCI ou TC2 est activé pour la première fois et/ou à intervalles réguliers au cours de la vie des dispositifs TCI et TC2 pour maintenir la synchronisation temporelle. En effet, l'horloge locale 102 de chaque dispositif client de synchronisation TCI, TC2 dérive par exemple dans une certaine mesure au cours du temps, de sorte qu'en se resynchronisant avec le serveur de synchronisation TS, les dispositifs TCI et TC2 peuvent maintenir une heure relativement précise, par exemple avec une précision de quelques millisecondes par rapport au temps universel coordonné.Each of the TCI and synchronization clients. TC2 can request a time synchronization from the TS synchronization server. For example, such requests may occur when the TCI or TC2 device is activated for the first time and / or at regular intervals during the life of the TCI and TC2 devices to maintain time synchronization. Indeed, the local clock 102 of each synchronization client device TCI, TC2 for example drifts to a certain extent over time, so that by resynchronizing with the synchronization server TS, the devices TCI and TC2 can maintain a relatively precise time, for example with an accuracy of a few milliseconds compared to the coordinated universal time.

[0047] Pour permettre une synchronisation temporelle sécurisée entre les dispositifs clients de synchronisation TCI et TC2 et le serveur de synchronisation TS, une phase de configuration (CONFIG) est par exemple mise en œuvre au moyen du serveur d'authentification AS. Ceci implique par exemple des communications entre le serveur d'authentification AS et le serveur de synchronisation TS et entre le serveur d'authentification AS et chaque dispositif client de synchronisation TCI, TC2. On va à présent décrire plus en détail un procédé de mise en œuvre de cette phase de configuration et d'une phase ultérieure deTo allow secure time synchronization between the synchronization client devices TCI and TC2 and the synchronization server TS, a configuration phase (CONFIG) is for example implemented by means of the authentication server AS. This implies for example communications between the authentication server AS and the synchronization server TS and between the authentication server AS and each synchronization client device TCI, TC2. We will now describe in more detail a method for implementing this configuration phase and a subsequent phase of

B17674 synchronisation temporelle (TIME SYNC) avec le dispositif client de synchronisation TCI en référence à la figure 3. Un procédé semblable pourrait être mis en œuvre pour le dispositif client de synchronisation TCz.B17674 TIME SYNC with the TCI synchronization client device with reference to Figure 3. A similar method could be implemented for the TCz synchronization client device.

[0048] La figure 3 représente les communications entre le dispositif client de synchronisation TCI, le serveur d'authentification AS et le serveur de synchronisation TS de la figure 2 selon un exemple de réalisation de la présente invention.FIG. 3 represents the communications between the synchronization client device TCI, the authentication server AS and the synchronization server TS of FIG. 2 according to an exemplary embodiment of the present invention.

[0049] Avant le début des communications entre les parties, une opération de réglage (SETUP) a par exemple lieu, pendant laquelle une authentification mutuelle à partir de certificats est mise en œuvre entre le dispositif client de synchronisation TCI et le serveur d'authentification AS et entre le serveur de synchronisation TS et le serveur d'authentification AS. Ceci implique par exemple l'établissement d'une session DTLS (datagram transport layer security : Sécurité de la couche de transport en mode datagramme), de façon connue de l'homme de l'art. La session DTLS crée des canaux sécurisés qui sont utilisés pour échanger des messages pendant la phase de configu0050] La phase de configuration (CONFIG) entre le serveur de synchronisation TS et le serveur d'authentification AS est par exemple mise en œuvre une fois ou à intervalles relativement peu fréquents, par exemple une fois par mois pour rafraîchir les matériaux cryptographiques utilisé pendant la synchronisation temporelle. Pendant cette phase, le serveur de synchronisation TS transmet par exemple au serveur d'authentification AS les algorithmes cryptographiques ALGO TS pris en charge, y compris, dans certains modes de réalisation, les codes d'authentifiBefore the start of communications between the parties, a setting operation (SETUP) takes place, for example, during which mutual authentication from certificates is implemented between the TCI synchronization client device and the authentication server. AS and between the synchronization server TS and the authentication server AS. This implies for example the establishment of a DTLS session (datagram transport layer security: security of the transport layer in datagram mode), in a manner known to those skilled in the art. The DTLS session creates secure channels which are used to exchange messages during the phase of configu0050] The configuration phase (CONFIG) between the synchronization server TS and the authentication server AS is for example implemented once or at relatively infrequent intervals, such as once a month to refresh the cryptographic materials used during time synchronization. During this phase, the synchronization server TS transmits, for example to the authentication server AS, the supported ALGO TS cryptographic algorithms, including, in certain embodiments, the authentication codes.

B17674 cation de message (MAC : message authentication code) pris en charge et/ou les signatures numériques (DS : digital signature) prises en charge.B17674 message cation (MAC: message authentication code) supported and / or digital signatures (DS: digital signature) supported.

0051] Le serveur d'authentification AS répond en produisant et en transmettant au serveur de synchronisation TS une clé S qui est par exemple un secret à long terme destiné à être utilisé par le serveur de synchronisation TS. Au cas où une infrastructure de clé publique (PKI : Public Key Infrastructure) doit être utilisée pour signer les messages au client de synchronisation, le serveur d'authentification AS produit et transmet par exemple également au serveur de synchronisation TS un couple clé privée/clé publique Ke/Kd. Les mêmes clés S, Ke et Kd sont par exemple utilisées pour les communications avec chaque dispositif client de synchronisation, de sorte que le serveur de synchronisation TS n'a pas besoin de mémoriser une clé différente à utiliser avec chaque dispositif client de synchronisation.The authentication server AS responds by producing and transmitting to the synchronization server TS a key S which is, for example, a long-term secret intended for use by the synchronization server TS. If a public key infrastructure (PKI) is to be used to sign messages to the synchronization client, the authentication server AS produces and transmits, for example also to the synchronization server TS, a private key / key pair public Ke / Kd. The same keys S, Ke and Kd are for example used for communications with each synchronization client device, so that the synchronization server TS does not need to store a different key to be used with each synchronization client device.

[0052] La phase de configuration (CONFIG) entre le dispositif client de synchronisation TCI et le serveur d'authentification AS (et entre les autres dispositifs clients de synchronisation et le serveur d'authentification) est par exemple mise en œuvre après la phase de configuration avec le serveur de synchronisation TS décrit ci-dessus. Le dispositif client de synchronisation TCI initie par exemple la phase de configuration en transmettant au serveur d'authentification AS : son identifiant TCID, qui se présente par exemple sous la forme d'une adresse IP du dispositif client de synchronisation automatiquement contenue dans le message transmis ; un identifiant TSID du serveur de synchronisation TS avec lequel le dispositif client de synchronisation TCI souhaite réaliser une synchronisation temporelle ; et les algorithmes cryp14The configuration phase (CONFIG) between the synchronization client device TCI and the authentication server AS (and between the other synchronization client devices and the authentication server) is for example implemented after the phase of configuration with the TS synchronization server described above. The TCI synchronization client device for example initiates the configuration phase by transmitting to the authentication server AS: its identifier TCID, which is for example in the form of an IP address of the synchronization client device automatically contained in the transmitted message ; a TSID identifier of the synchronization server TS with which the synchronization client device TCI wishes to perform time synchronization; and cryp14 algorithms

B17674 tographiques ALGO TC pris en charge, y compris, dans ce tains modes de réalisation, les codes MAC pris en charge et/ou la signature numérique DS prise en charge. Dans des variantes de realisation, le chronisation TCI ne transmet serveur de synchronisation TS serveur d'authentification AS chronisation TS au dispositif TCI.B17674 ALGO TC tographics supported, including, in some embodiments, MAC codes supported and / or DS digital signature supported. In alternative embodiments, the timing TCI does not transmit synchronization server TS authentication server AS timing TS to the device TCI.

dispositif client de synpas l'identifiant TSID du mais, au lieu de cela, le propose un serveur de synclient de synchronisation [0053] Comme on le décrira plus en détail ci-dessous, le serveur de synchronisation TS est par exemple configuré pour authentifier les messages de synchronisation temporelle qu'il envoie au client de synchronisation TCI au moyen, soit d'un code MAC produit au moyen d'une clé symétrique K, soit d'une signature numérique DS produite au moyen de la clé privée Kd.synpas client device the TSID identifier of the but, instead, the synchronization synclient server proposes it As will be described in more detail below, the synchronization server TS is for example configured to authenticate the time synchronization messages which it sends to the synchronization client TCI using either a MAC code produced using a symmetric key K or a digital signature DS produced using the private key Kd.

[0054] En supposant qu'au moins l'un des algorithmes cryptographiques pris en charge par le serveur de synchronisation TS est également pris en charge par le dispositif client de synchronisation TCI, le serveur d'authentification AS répond par exemple en fournissant au client de synchronisation TCI la clé symétrique K et, dans cer-Assuming that at least one of the cryptographic algorithms supported by the synchronization server TS is also supported by the synchronization client device TCI, the authentication server AS responds for example by providing the client synchronization key the symmetric key K and, in some

tains cas, la some cases the clé d'accès access key public public Ke Ke O-U S Θ l V6Ul 0-0 S W O-U S Θ l V6Ul 0-0 S W chronisation T chronization T S, ainsi que S, as well as le ou the OR les the algorithme(s) cryp- encrypted algorithm (s) tographique(s) tographic (s) négocié(s) negotiated ALOG__TC ALOG__TC JT S JT S compatible(s) à la compatible with

fois avec le serveur de synchronisation TS et le dispositif client de synchronisation TCI et à utiliser pour les communications entre eux. Pour ce faire, le serveur d'authentification AS comprend par exemple une mémoire stockant, pour chaque dispositif client de synchronisation et pour chaque serveur de synchronisation TS dans le cas où il en en a plus d'un, les relations TSID-[S,(Ke,Kd)] et TCID-[K,C], dans lesquelles les identifiants TSID et TCIDboth with the TS synchronization server and the TCI synchronization client device and to be used for communications between them. To do this, the authentication server AS comprises for example a memory storing, for each synchronization client device and for each synchronization server TS in the case where there is more than one, the relations TSID- [S, (Ke, Kd)] and TCID- [K, C], in which the identifiers TSID and TCID

B17674 peuvent correspondre à des adresses IP du serveur d synchronisation et du dispositif client de synchronisation respectivement.B17674 can correspond to IP addresses of the synchronization server and the synchronization client device respectively.

[0055] Le serveur d'authentification AS fournit par exemple au dispositif client de synchronisation TCI un état C, sous forme d'une valeur cryptée. En particulier, l'état C correspond par exemple à la clé symétrique K et dans certains modes de réalisation, à une ou plusieurs valeurs, toutes cryptées au moyen de la clé S du serveur de synchronisation TS . La clé K est par exemple unique pour chaque dispositif client de synchronisation et 1'utili-sation de l'état C permet par exemple au serveur de syn-chronisation d'être sans état, c'est-à-dire qu'il n'a pas besoin de mémoriser la clé K associée à chaque dispositif client de synchronisation, comme on le décrira plus en détail cidessous. La clé S est par exemple inconnue du dispositif client de synchronisation TCI, qui ne peut par conséquent pas décrypter ou modifier l'état C. Seul le serveur de synchronisation TS est par exemple adapté à décrypter l'état C. Les autres valeurs cryptées dans l'état C peuvent comprendre une valeur indiquant le ou les algorithme(s) négocié (s) ALOG_TC_TS choisi (s) pour être utilisé (s) dans les communications entre le dispositif client de synchronisation TCI et le serveur de synchronisation TS.The authentication server AS provides for example to the synchronization client device TCI a state C, in the form of an encrypted value. In particular, state C corresponds for example to the symmetric key K and in certain embodiments, to one or more values, all encrypted by means of the key S of the synchronization server TS. The key K is for example unique for each synchronization client device and the use of state C allows for example the synchronization server to be stateless, that is to say that there There is no need to memorize the key K associated with each synchronization client device, as will be described in more detail below. The key S is for example unknown to the synchronization client device TCI, which therefore cannot decrypt or modify the state C. Only the synchronization server TS is for example suitable for decrypting the state C. The other values encrypted in state C can include a value indicating the negotiated algorithm (s) ALOG_TC_TS chosen to be used in communications between the synchronization client device TCI and the synchronization server TS.

[0056] Par exemple, l'algorithme négocié pour les communications entre le dispositif client de synchronisation TCI et le serveur de synchronisation TS est la primitive cryptographique connue sous le nom d'algorithme AES-GCM (Advanced Encryption Standard - Galois/Counter Mode) ou un réseau de Feistel.For example, the algorithm negotiated for communications between the TCI synchronization client device and the TS synchronization server is the cryptographic primitive known as the AES-GCM (Advanced Encryption Standard - Galois / Counter Mode) algorithm. or a Feistel network.

B17674 [0057] Les algorithmes MAC pris en charge par le serveur de synchronisation et/ou par le dispositif client de syn-B17674 The MAC algorithms supported by the synchronization server and / or by the synchronization client device

cnronisation TCI comprenn TCI certification includes ent par exemple l'algorithme HMAC- ent for example the algorithm HMAC- SHA256 (Hash-based Messa SHA256 (Hash-based Messa .ge Authentication Code - Secure .ge Authentication Code - Secure Hash Algorithm.) et/ou Hash Algorithm.) And / or 1'algorithme AES-CMAC (Advanced The AES-CMAC algorithm (Advanced Encryption o La. n ci a rd. ui| Encryption o La. N ci a rd. ui | oher-based Message Authentication oher-based Message Authentication Code) et/ou l'algorithme Code) and / or the algorithm HMAC-MD5 (HMAC - Message Digest HMAC-MD5 (HMAC - Message Digest [0058] La signature numér: The digital signature: Lque DS prise en charge par le Which DS supported by

serveur de synchronisation et/ou par le dispositif client de synchronisation TCI comprend par exemple la signature Ed25519, qui est une signature EdDSA (Edwards-curve Digitalsynchronization server and / or by the TCI synchronization client device includes for example the signature Ed25519, which is an EdDSA signature (Edwards-curve Digital

Signature Algorrtnm) utii Signature Algorrtnm) utii isant SHA-512 et Curve25519, et/ou. isant SHA-512 and Curve25519, and / or. la signature MQQ-SIG (Ml the MQQ-SIG signature (Ml 111. i v a r i a t e Qu a d r a t i c Qu a s i g r o up s 111. i v a r i a t Qu a d r a t i c Qu a s i g r o up s

Signature).Signature).

[0059] Pour initier une phase de synchronisation temporelleTo initiate a time synchronization phase

(TIME SYNC), le disposit: (TIME SYNC), has it: Lf client de synchronisation TCI Lf TCI synchronization client

transmet par exemple un message ml au serveur de synchronisation TS. Le message ml comprend par exemple des donnéesfor example transmits an ml message to the synchronization server TS. The message ml includes for example data

correspondant au protocol corresponding to the protocol Le particulier à utiliser pour la The particular to use for the s y n c h r ο n i s a. t i o n. t e mp o r e 1 ) s y n c h r ο n i s a. t i o n. t e mp o r e 1) le. Par exemple, dans le cas du. the. For example, in the case of.

protocole NTP, le message comprend un horodatage Tl correspondant à 1'horodatage du dispositif client de synchronisation TCI à l'instant où le message ml estNTP protocol, the message includes a time stamp Tl corresponding to the time stamp of the synchronization client device TCI at the time when the message ml is

produit et transmis. En c produced and transmitted. In c outre, le message ml comprend par in addition, the ml message includes exemple un. nonce n, ainsi example one. nonce n, as well . que l'état C. Le nonce n est. par . than state C. The nonce n is. by exemple une valeur aléatc example a random value Dire comprise dans chaque messaqe Say included in each message

et assure une protection contre les attaques par rejeuand provides protection against replay attacks

Par exemple, le serveur < For example, the server < de synchronisation TS comprend ce synchronization TS understands this nonce n, ou un code MAC oi nonce n, or a MAC code oi j. une signature numérique basé sur j. a digital signature based on ce nonce, dans un message this nonce, in a message de réponse ultérieur (décrit plus subsequent response (described more en détail ci-dessous) in detail below) i au dispositif client de i to the client device of

B17674 synchronisation, qui peut alors vérifier que le nonce n estB17674 synchronization, which can then verify that the nonce n is

1e même.1st same.

[0060] Le dispositif client de synchronisation TCI transmet par exemple également au serveur de synchronisation TS un deuxième message m2 comprenant une valeur τΐ correspondant par exemple à une valeur de code MAC MAC__K(ml) produite au moyen de la clé symétrique K. Par exemple, cette valeur de code MAC est un code produit à partir du premier message ml déjà reçu par le serveur de synchronisation TS. A titre de variante, il pourrait être produit à partir d'une partie du message ml seulement, par exemple, à partir de l'état C ou du nonce n.The synchronization client device TCI for example also transmits to the synchronization server TS a second message m2 comprising a value τΐ corresponding for example to a value of MAC code MAC__K (ml) produced by means of the symmetric key K. For example , this MAC code value is a code produced from the first ml message already received by the synchronization server TS. Alternatively, it could be produced from part of the ml message only, for example, from state C or nonce n.

[0061] Les messages ml et m2 sont par exemple transmis de manière indépendante, de sorte que le serveur de synchronisation TS peut traiter le message initial ml aussitôt qu'il est reçu sans vérifier préalablement le code MAC. Ainsi, on améliore la qualité de l'opération de synchronisation temporelle. Toutefois, dans des variantes de réalisation, les messages ml et m2 pourraient être transmis en un seul message.The ml and m2 messages are for example transmitted independently, so that the synchronization server TS can process the initial message ml as soon as it is received without first checking the MAC code. Thus, the quality of the time synchronization operation is improved. However, in alternative embodiments, the messages ml and m2 could be transmitted in a single message.

[0062] Le serveur de synchronisation TS répond par exemple au message ml en produisant et en transmettant au dispositif client de synchronisation TCI un message m3 contenant 1'horodatage Tl ainsi que les horodatages T2 et T3 conformément au protocole NTP. Par exemple, 1'horodatage T2 correspond à l'instant de réception du message ml par le serveur de synchronisation TS et 1'ho-rodatage T3 correspond âr l'instant de transmission du message m3 au dispositif client de synchronisation TCI, [0063] Le serveur de synchronisation TS décrypte également par exemple la valeur cryptée C à partir de sa clé secrète S et en extrait la clé symétrique K et, dans certains modesThe synchronization server TS responds for example to the message ml by producing and transmitting to the synchronization client device TCI a message m3 containing the time stamp Tl as well as the time stamps T2 and T3 in accordance with the NTP protocol. For example, the time stamp T2 corresponds to the instant of receipt of the message ml by the synchronization server TS and the time stamping T3 corresponds to the instant of transmission of the message m3 to the synchronization client device TCI, [0063] The synchronization server TS also decrypts for example the encrypted value C from its secret key S and extracts from it the symmetric key K and, in certain modes

B17674 de réalisation, l'algorithme négocié ALGO TC TS. Le serveur de synchronisation TS est ensuite par exemple en mesure de vérifier le code d'authen-tification de message MAC MAC K (ml) fourni dans le message m2 à partir de la clé symé t r i que K.B17674 of realization, the algorithm negotiated ALGO TC TS. The synchronization server TS is then for example able to check the authentication code of MAC message MAC MAC K (ml) supplied in the message m2 using the symmetric key t r i that K.

[0064] Le serveur de synchronisation TS transmet également par exemple un message m4 au dispositif client de synchronisation TCI après le message m3, le message m4 étant utilisé pour l'authentification. Par exemple, le message m4 comprend une valeur τ2 correspondant par exemple à un code MAC MAC K (ml||m3 ) produit au moyen de la clé symétrique K et à partir d'au moins un des messages ml et m3, et de préférence à partir des deux messages ml et m3. A titre de variante, l'authentification pourrait être réalisée par une signature numérique DS kd (ml||m3) , correspondant à une signature d'au moins l'un des messages ml et m3, et de préférence à partir des deux messages ml et m3. Cette signature numérique est par exemple produite au moyen de la clé privée Kd du serveur de synchronisation TS. Dans certains cas, le serveur de synchronisation TS est adapté à produire à la fois le code MAC MAC_K (ml||m3) et la signature numérique DS kd(ml||ni3) et une sélection est effectuée, par exemple par le dispositif client de synchronisation TCI, entre ces deux sortes de types d'authentification de message selon que la propriété de non répudiation est souhaitée ou non.The TS synchronization server also transmits, for example, a message m4 to the synchronization client device TCI after the message m3, the message m4 being used for authentication. For example, the message m4 comprises a value τ2 corresponding for example to a MAC MAC MAC code K (ml || m3) produced by means of the symmetric key K and from at least one of the messages ml and m3, and preferably from the two messages ml and m3. Alternatively, authentication could be carried out by a digital signature DS kd (ml || m3), corresponding to a signature of at least one of the messages ml and m3, and preferably from the two messages ml and m3. This digital signature is for example produced by means of the private key Kd of the synchronization server TS. In certain cases, the synchronization server TS is adapted to produce both the MAC code MAC_K (ml || m3) and the digital signature DS kd (ml || ni3) and a selection is made, for example by the client device TCI synchronization, between these two kinds of message authentication types depending on whether the non-repudiation property is desired or not.

[0065] Dans des variantes de réalisation, le code MAC et/ou la signature numérique pourraient être produits à partir d'une partie seulement des messages ml et m3, par exemple à partir du nonce du message ml seulement et/ou des horodatages T2 et T3 du message m3 seulement.In alternative embodiments, the MAC code and / or the digital signature could be produced from only part of the ml and m3 messages, for example from the nonce of the ml message only and / or T2 timestamps and T3 of the message m3 only.

B17674B17674

0066] Le dispositif client de synchronisation TCI est al en mesure ae determiner une estimation relativement precise du terms en calculant le décalacre temrorel de son horlocre locale 102 par rapport à synchronisation TS et le retour RTT des communicatic nisation TCI et le serveur par exemple déterminés; par [0 0 6 1] [Math 1] l'horloge 104 du serveur de temps de propagation aller et ms entre le client de synchrode synchronisation TS, qui sont les équations suivantes :The TCI synchronization client device is able to determine a relatively precise estimate of the terms by calculating the temporary transfer of its local clock 102 with respect to TS synchronization and the RTT return of the communications TCI and the server, for example determined; by [0 0 6 1] [Math 1] the clock 104 of the forward and ms propagation time server between the synchronization client TS synchronization, which are the following equations:

[Mat où. T4 est un horodatage correspondant à l' instant de réception du message m3 par le dispositif client de synchronisation TCI.[Mat where. T4 is a time stamp corresponding to the time of reception of the message m3 by the synchronization client device TCI.

[0069] Le dispositif The device : client de synchronisation TCI est par : TCI synchronization client is by exemple configuré configured example pour régler son horloge à partir des to set your clock from valeurs calculées calculated values d'Offset et de RTT. Comme le comprendra Offset and RTT. As will understand 1'homme de l'art. The skilled person. dans certains cas, l'opération de syn- in some cases, the syn- cnronisation est timing is répétée plusieurs fois et le réglage repeated several times and the setting d'horloge se fait clock is done à partir d'un filtrage et/ou d'une ana- from filtering and / or ana-

lyse statistique de l'ensemble calculé de valeurs d'Offset et de RTT. En outre, dans certains modes de réali-statistical lysis of the calculated set of offset and RTT values. In addition, in certain embodiments,

sation, la valeur sation, the value de RTT est comparée à un paramètre de of RTT is compared to a parameter of seuil Δ, et le disf threshold Δ, and the disf jositif client de synchronisation TCI est positive TCI synchronization client is configuré pour rej configured to rej jeter le message m.4 et/ou faire avorter discard message m.4 and / or have an abortion 1 a s y n c n r ο n x s a i x ο n 1 a s y n c n r ο n x s a i x ο n . temporelle si la valeur de RTT dépasse . time if the RTT value exceeds

té paramètre de seuil Δ, assurant ainsi la défense contre les attaques par introduction d'un retard.tee threshold parameter Δ, thus ensuring defense against attack by introducing a delay.

B17674 [0070] Le dispositif client de synchronisation TCI authentifie également par exemple les informations temporelles fournies par le serveur de synchronisation TS en vérifiant le code d'authentification ou la signature numérique fournis avec le message m.4 . Dans le cas où le message m4 comprend le code MAC MAC K(ml||m3), le dispositif client de synchronisation TCI vérifie par exemple ce code à partir de la clé symétrique K, par exemple en recalculant le code MAC et en comparant le code MAC recalculé avec celui fourni avec le message m4. Dans le cas où le message m4 comprend la signature numérique DS kd (ml||m3) , le dispositif client de synchronisation TCI vérifie par exemple cette signature en décryptant, la signature au moyen de sa clé publique Ke.B17674 The TCI synchronization client device also authenticates, for example, the time information supplied by the synchronization server TS by checking the authentication code or the digital signature supplied with the message m.4. In the case where the message m4 includes the MAC MAC code K (ml || m3), the TCI synchronization client device checks, for example, this code using the symmetric key K, for example by recalculating the MAC code and comparing the MAC code recalculated with that provided with the message m4. In the case where the message m4 comprises the digital signature DS kd (ml || m3), the synchronization client device TCI verifies, for example, this signature by decrypting, the signature by means of its public key Ke.

[0071] Comme on l'a décrit ci-dessus en relation avec la figure 3, les communications initiales entre le serveur d'authentification AS et le dispositif client de synchronisation TCI et le serveur de synchronisation TS correspondent à une phase de réglage pendant laquelle une authentification mutuelle est effectuée, par exemple à partir d'un échange de certificats. Toutefois, le dispositif client de synchronisation TCI peut être un dispositif dépourvu d'horloge synchrone et qui n'a donc pas de notion de l'heure à sa première mise sous tension.As described above in relation to FIG. 3, the initial communications between the authentication server AS and the synchronization client device TCI and the synchronization server TS correspond to an adjustment phase during which mutual authentication is performed, for example from an exchange of certificates. However, the TCI synchronization client device can be a device that does not have a synchronous clock and therefore has no notion of the time when it is first powered up.

[0072] On va à présent décrire un système et un procédé d'obtention sécurisée d'une estimation temporelle en référence aux figures 4 à 6. Le dispositif électronique pourrait correspondre à un dispositif client de synchronisation TCI ou TC2 de la figure 2 à des fins de validation de certificat ou à tout dispositif électronique souhaitant obtenir une estimation de l'heure actuelle.We will now describe a system and a method for obtaining a secure time estimate with reference to Figures 4 to 6. The electronic device could correspond to a synchronization client device TCI or TC2 of Figure 2 to certificate validation purposes or any electronic device wishing to obtain an estimate of the current time.

B17674B17674

0073] La figure 4 illustre schématiquement un système 400 de production d'une estimation temporelle selon un exemple de réalisation de la présente invention.FIG. 4 schematically illustrates a system 400 for producing a time estimate according to an exemplary embodiment of the present invention.

0074] Dans le système 400, un dispositif électronique 402 souhaite obtenir une estimation de l'heure actuelle. Par exemple, le dispositif 402 est un dispositif dépourvu d'interface utilisateur ou pourvu d'une interface utilisateur ne permettant pas la saisie d'informations temporelles. Dans certains modes de réalisation, le dispositif 402 est un dispositif électronique portable adapté à des communications sans fil, tel qu'un dispositif loi (Internet of Things : Internet des objets).In the system 400, an electronic device 402 wishes to obtain an estimate of the current time. For example, the device 402 is a device without user interface or provided with a user interface which does not allow the input of time information. In some embodiments, the device 402 is a portable electronic device suitable for wireless communications, such as a law device (Internet of Things).

[0075] Selon les modes de réalisation décrits ici, l'estimation temporelle est obtenue en utilisant un réseau de chaînes de blocs 406. Le réseau de chaînes de blocs 406 comprend par exemple J nœuds, chacun mémorisant des versions semblables d'une même chaîne de blocs BC. Le nombre J de nœuds est par exemple égal à au moins 2 et pourrait être égal à des centaines ou à des milliers. Le dispositif 402 demande certaines données de la chaîne de blocs BC à un nœud 404 d'un réseau de chaînes de blocs 406.According to the embodiments described here, the time estimate is obtained using a network of block chains 406. The network of block chains 406 comprises for example J nodes, each memorizing similar versions of the same chain of BC blocks. The number J of nodes is for example equal to at least 2 and could be equal to hundreds or thousands. The device 402 requests certain data of the block chain BC from a node 404 of a network of block chains 406.

[0076] La chaîne de blocs BC est par exemple une chaîne de blocs publique immuable, telle que la chaîne de blocs d'une crypto-monnaie telle que le Bitcoin ou équivalent (le nom Bitcoin est susceptible de correspondre à une marque déposée). De manière connue de l'homme de l'art, un réseau de chaînes de blocs constitue de par sa conception une source de confiance, du fait de sa structure particulière.The blockchain BC is for example an immutable public blockchain, such as the blockchain of a cryptocurrency such as Bitcoin or equivalent (the name Bitcoin is likely to correspond to a registered trademark). In a manner known to those skilled in the art, a network of block chains is by design a source of confidence, due to its particular structure.

[0077] Un horodatage est par exemple obtenue par le dispositif 402 à partir d'un ou plusieurs blocs de la chaîne de blocs par un accès de pair à pair. Un accès de pair à pair à la chaîne de blocs Bitcoin est par exemple décritA timestamp is for example obtained by the device 402 from one or more blocks of the block chain by peer-to-peer access. Peer-to-peer access to the Bitcoin blockchain is for example described

B17674 plus en détail dans la publication de S. Nakamoto intitulée Bitcoin: A peer-to-peer Electronic Cash System, mai 2011. Dans certains modes de réalisation, le dispositif 402 demande les en-têtes d'une série de blocs de la chaîne de blocs BC et extrait un horodatage de l'un de ces en-têtes.B17674 in more detail in the publication by S. Nakamoto entitled Bitcoin: A peer-to-peer Electronic Cash System, May 2011. In some embodiments, the device 402 requests the headers of a series of blocks in the chain of BC blocks and extracts a timestamp from one of these headers.

[0078] La figure 5 représente la chaîne de blocs BC de la figure 4 selon un exemple de réalisation. La chaîne de blocs BC comprend par exemple les blocs B0 à BN, le bloc B0 étant un bloc d'origine de la chaîne de blocs BC et le bloc BN étant le bloc le plus récent de la chaîne de blocs BC. Chaque bloc comprend par exemple un en-tête (HEADER) contenant un identifiant (BLOCK 0 à BLOCK N) du bloc, ainsi qu'un horodatage (TIMESTAMP). Chaque bloc comprend en outre des données qui, dans le cas du bloc de crypto-monnaie, correspondent par exemple à des données de grand livre comptable (LEDGER DATA). En outre, le bloc d'origine B0 comprend une empreinte (HASH) de son propre contenu et chaque autre bloc comprend en outre une empreinte du bloc précédent (HASH (PREV)), rendant ainsi difficile la modification des blocs les plus anciens sans approbation de la majorité des nœuds du réseau de chaînes de blocs.FIG. 5 represents the block chain BC of FIG. 4 according to an exemplary embodiment. The block chain BC comprises for example the blocks B0 to BN, the block B0 being an original block of the block chain BC and the block BN being the most recent block of the block chain BC. Each block includes for example a header (HEADER) containing an identifier (BLOCK 0 to BLOCK N) of the block, as well as a time stamp (TIMESTAMP). Each block also includes data which, in the case of the cryptocurrency block, corresponds for example to ledger data (LEDGER DATA). In addition, the original block B0 includes an imprint (HASH) of its own content and each other block also includes an imprint of the previous block (HASH (PREV)), making it difficult to modify the oldest blocks without approval. of the majority of the nodes in the blockchain network.

[0079] La figure 6 est un organigramme illustrant des étapes d'un procédé de production d'une estimation temporelle selon un exemple de réalisation de la présente invention.Figure 6 is a flowchart illustrating steps of a method for producing a time estimate according to an exemplary embodiment of the present invention.

[0080] On suppose que le dispositif 402 a par exemple identifié le nœud 404 en tant que pair dans le réseau de chaînes de blocs 406 et connaît l'adresse IP de ce pair.It is assumed that the device 402 has for example identified the node 404 as a peer in the network of block chains 406 and knows the IP address of this peer.

Par exemple, le dispositif 402 a réalisé une opération de découverte de pair, en utilisant par exemple plusieurs graines DNS ou adresses IP codées en dur.For example, the device 402 has performed a peer discovery operation, using for example several DNS seeds or hard coded IP addresses.

[0081] A une opération 601, le dispositif électronique 402 demande une série d'en-têtes au pair 404. Une commandeIn an operation 601, the electronic device 402 requests a series of au pair headers 404. A command

B17674B17674

GetHeaders (récupérer les en-têtes) est par exemple utilisée. Cette commande se présente par exemple sous la forme GetHeaders(X,L) , X étant l'identifiant du dernier bloc demandé et L étant le nombre d'en-têtes demandés. Dans le cas de nœuds de Bitcoin, un maximum de 2 000 en-têtes peut être fourni.GetHeaders is used, for example. This command is for example in the form GetHeaders (X, L), X being the identifier of the last block requested and L being the number of headers requested. In the case of Bitcoin nodes, a maximum of 2,000 headers can be provided.

0082] Dans certains modes de réalisation, un certain nombre d'en-têtes des blocs les plus récents, qui peuvent rester sujets à changement et ne sont pas nécessairement immuables, sont exclus de la demande. Par exemple, l'entête du bloc le plus récent demandé est l'en-tête du (Nj)-ème bloc, le N-ème bloc étant le bloc le plus récent, et j étant compris entre 6 et 15, et dans un exemple égal à 10 .In some embodiments, a number of headers of the most recent blocks, which may remain subject to change and are not necessarily immutable, are excluded from the request. For example, the header of the most recent block requested is the header of the (Nj) -th block, the N-th block being the most recent block, and j being between 6 and 15, and in a example equal to 10.

0083] Le pair 404 prend par exemple l'empreinte du (N-j) ème bloc et répond au dispositif 402 avec la série demandée d'en-têtes en chaîne après le block N-j . Le dispositif 402 répète alors par exemple la synchronisation des en-têtes pour atteindre la fin de la chaîne de blocs et identifie l’en-tête du bloc le plus récent N-j de la série.The peer 404 takes for example the imprint of the (N-j) th block and responds to the device 402 with the requested series of chain headers after the block N-j. The device 402 then repeats, for example, the synchronization of the headers to reach the end of the block chain and identifies the header of the most recent block N-j in the series.

[0084] A une opération 602, le dispositif électronique 402 extrait 1'horodatage de l'en-tête du bloc le plus récent N-j. Dans certains modes de réalisation, cet horodatage a le même format que l'horodatage sur 64 bits utilisé en NTP, tandis que dans d'autres modes de réalisation, le format de 1'horodatage de chaîne de bloc pourrait être différent et converti dans le format approprié.In an operation 602, the electronic device 402 extracts the time stamp from the header of the most recent block N-j. In some embodiments, this timestamp has the same format as the 64-bit timestamp used in NTP, while in other embodiments, the format of the blockchain timestamp could be different and converted in the appropriate format.

[0085] Comme le représente la flèche en traits tiretés de la figure 6, les opérations 601 et 602 peuvent être répétées pour un ou plusieurs nœuds ou pairs de la chaîne de blocs pour assurer d'autres vérifications de 1'authen-ticité des en-têtes et pour assurer une protection contre les attaquesAs the arrow in dashed lines in FIG. 6 shows, operations 601 and 602 can be repeated for one or more nodes or peers in the block chain to ensure other verifications of the authenticity of the -heads and to provide protection against attack

B17674B17674

M.T.TM (man-in-the-middle : par hôte inter-posé ) et par usurpation d'identité. Ceci implique par exemple de demander les en-têtes de la série de blocs à un autre pair, d'identifier l'en-tête du bloc le plus récent de la série, qui est par exemple à nouveau l'en-tête du (N-j)-ème bloc, puis d'extraire 1'horodatage de cet en-tête. Le nouvel horodatage est par exemple comparé à 1'horodatage extrait précédemment pour vérifier qu'ils sont identiques, vérifiant de la sorte 1'horodatage à partir de deux nœuds séparés.M.T.TM (man-in-the-middle: by interposed host) and by identity theft. This implies for example to request the headers of the series of blocks from another peer, to identify the header of the most recent block of the series, which is for example again the header of ( Nj) -ème block, then extract the timestamp from this header. The new timestamp is for example compared to the timestamp previously extracted to verify that they are identical, thereby verifying the timestamp from two separate nodes.

[0086] A une opération 603, une heure actuelle est estimée âr partir du ou des horodatage(s) extrait (s) et une horloge locale 102 du dispositif électronique 402 est par exemple synchronisée à partir de l'estimation temporelle.In an operation 603, a current time is estimated from the timestamp (s) extracted (s) and a local clock 102 of the electronic device 402 is for example synchronized from the time estimate.

0087] Comme 1'horodatage sur laquelle on s'appuie n'est pas celui du bloc le plus récent de la chaîne de blocs, il peut y avoir un décalage tempore.1 entre l'heure de l'horodatage extrait et l'heure réelle, qui dépendra de la valeur de j. Les présents inventeurs ont cependant observé qu' il est généralement possible de choisir une valeur de j qui fournisse une heure précise à quelques heures près, ce qui suffit généralement pour valider un certificat d'authentification. En effet, de tels certificats sont généralement valides jusqu'à une certaine date. Le choix du paramètre j se fonde par exemple sur la propriété de validité de l'horodatage dans la chaîne de blocs.Since the timestamp on which we rely is not that of the most recent block in the blockchain, there may be a tempore.1 offset between the time of the extracted timestamp and the time real, which will depend on the value of j. The present inventors have however observed that it is generally possible to choose a value of j which provides a precise time to within a few hours, which is generally sufficient to validate an authentication certificate. Indeed, such certificates are generally valid until a certain date. The choice of the parameter j is based for example on the property of validity of the timestamp in the block chain.

[0088] A une opération 604, un certificat est par exemple validé à partir de 1'estimation temporelle. Ainsi, un certificat révoqué peut être identifié et rejeté par le dispositif 402. A titre de variante, d'autres utilisations de l'estimation temporelle produite pourraient être faites.In an operation 604, a certificate is for example validated from the time estimate. Thus, a revoked certificate can be identified and rejected by the device 402. As a variant, other uses of the temporal estimate produced could be made.

B17674 [0089] La figure 7 illustre schématiquement le dispositif client de synchronisation TCI de la figure 2 plus en détail selon un example de réalisation.B17674 FIG. 7 schematically illustrates the TCI synchronization client device of FIG. 2 in more detail according to an exemplary embodiment.

[0090] Le dispositif TCI comprend par exemple un processeur (P) '7 02 comprenant un ou plusieurs cœurs de processeur. Le processeur 702 est par exemple couplé à une horloge localeThe TCI device comprises for example a processor (P) '7 02 comprising one or more processor cores. The processor 702 is for example coupled to a local clock

(LOCAL (LOCAL CLOCK) 102, CLOCK) 102, qui comprend par who understands by exemple un os example a bone ;cillateur ; cillator 1 o c a 1, 1 o c a 1, tel qu'un os like a bone ;cillateur à quar ; quar cillator tz ou équivale tz or equivale ;nt, ainsi ; nt, so qu' un < that a < eu plusieurs had several compteurs. Le c counters. The c dispositif TCI TCI device comprend understands

également par exemple une interface de réseau (NETWORK INTERFACE) 704 et une mémoire (MEMORY) 706 couplées au processeur 702.also for example a network interface (NETWORK INTERFACE) 704 and a memory (MEMORY) 706 coupled to the processor 702.

[0091] La mémoire 706 stocke par exemple des instructions qui, lorsqu'elles sont exécutées par le processeur 702, provoquent la mise en œuvre des opérations du dispositif client de synchronisation TCI décrites ci-dessus en relation avec la figure 3.The memory 706 stores, for example, instructions which, when executed by the processor 702, cause the implementation of the operations of the synchronization client device TCI described above in relation to FIG. 3.

[0092] Le dispositif client de synchronisation TC2, le serveur d'authentification AS et le dispositif électronique 402 de la figure 4 sont par exemple réalisés par des circuits semblables à celui de la figure 2. Le serveur de synchronisation TS est également par exemple mis en œuvre par un circuit semblable, si ce n'est que, au lieu ou en plus de l'horloge locale 102, le serveur de synchronisation TS comprend la source de synchronisation sécurisée 104. En outre, dans le cas du dispositif 402, sa mémoire stocke par exemple des instructions qui mettent en œuvre le procédé décrit ci-dessus en relation avec la figure 6. En ce qui concerne le serveur de synchronisation TS et le serveur d'authentification AS, ces dispositifs comprennent éaalement des mémoires stockant des instructions culThe synchronization client device TC2, the authentication server AS and the electronic device 402 in FIG. 4 are for example produced by circuits similar to that of FIG. 2. The synchronization server TS is also for example set implemented by a similar circuit, except that, instead of or in addition to the local clock 102, the synchronization server TS comprises the secure synchronization source 104. Furthermore, in the case of the device 402, its memory stores for example instructions which implement the method described above in relation to FIG. 6. With regard to the synchronization server TS and the authentication server AS, these devices also include memories storing instructions cul

B17674 mettent en œuvre les opérations de ces dispositifs décrits ci-dessus en relation avec la figure 3.B17674 implement the operations of these devices described above in relation to FIG. 3.

[0093] Un avantage des modes de réalisation décrits en relation avec les figures 2 et 3 est que le serveur d'authentification AS soulage le serveur de synchronisation TS d'une Quantité importante de sa charge, en particulier la négociation d'algorithme et les échanges de clé. Ceci permet au serveur de synchronisation TS de manipuler les opérations de synchronisation temporelle avec un nombre relativement élevé de dispositifs clients de synchronisation et assure une disponibilité relativement élevée du serveur de synchronisation TS. MalgréAn advantage of the embodiments described in connection with FIGS. 2 and 3 is that the authentication server AS relieves the synchronization server TS of a significant amount of its load, in particular the negotiation of the algorithm and the key exchanges. This allows the synchronization server TS to handle time synchronization operations with a relatively large number of synchronization client devices and ensures relatively high availability of the synchronization server TS. Despite

1'utilisation Use du of serveur server d'authentic authentic fication AS, les AS fication, the échanges entre exchanges between 1 e î 1 st î dispositif device client de customer of s y n c h r ο n i s a t i ο n e t s y n c h r ο n i s a t i ο n e t le serveur de the server of s yn s yn chronisatic chronisatic DR T S sont DR T S are sécurisés par la secured by production et la tr production and tr ciiiS1TL1 S S 10ii ciiiS1TL1 S S 10ii au serveur to the server de synchronisation synchronization

d'un code d'authentification par le dispositif client de synchronisation à partir de la clé symétrique K fournie par le serveur d'authentification AS. En outre, en permettant au serveur de synchronisation TS d'être authentifié au moyen d'une signature numérique à partir de clés asymétriques, la non répudiation peut être prise en charge, tandis que les opérations critiques du point de vue temporel continuent de s'appuyer sur une cryptographie symétrique au moyen de la clé symétrique K.an authentication code by the synchronization client device from the symmetric key K provided by the authentication server AS. In addition, by allowing the TS synchronization server to be authenticated by means of a digital signature from asymmetric keys, non-repudiation can be supported, while time-critical operations continue to take place. press symmetric cryptography using the symmetric key K.

[0094] Un avantage des modes de réalisation décrits en relation avec les f igures 4 à 6 est qu' il est possible d'obtenir une estimation temporelle sûre de manière simple et sécurisée.An advantage of the embodiments described in relation to FIGS. 4 to 6 is that it is possible to obtain a reliable time estimate in a simple and secure manner.

0095] Divers modes de réalisation et variantes ont été décrits. L'homme de l'art comprendra qu'il est possible de combiner certaines caractéristiques de ces modes de réalisation et d'autres variantes apparaîtront à l'homme deVarious embodiments and variants have been described. Those skilled in the art will understand that it is possible to combine certain characteristics of these embodiments and other variants will appear to those skilled in the art.

B17674 l'art. Il apparaîtra en particulier à l'homme de l'art que bien que l'on ait décrit des modes de réalisation en relation avec le protocole NTP, les principes décrits ici peuvent s'appliquer à n'importe quel protocole de synchronisation temporelle. En outre, bien que des modes de réalisation aient été décrits dans lesquels un ou plusieurs algorithmes cryptographiques à utiliser dans les communications entre un dispositif client de synchronisation et le serveur de synchronisation sont négociés, une telle négociation peut être omise dans des variantes de réalisation, si par exemple un seul algorithme cryptographique est désigné pour être utilisé par tous les dispositifs clients de synchronisation pour chaque opération cryptographique particulière (cryptage, production de code MAC, production de signature DS).B17674 art. It will appear in particular to those skilled in the art that although embodiments have been described in relation to the NTP protocol, the principles described here can be applied to any time synchronization protocol. In addition, although embodiments have been described in which one or more cryptographic algorithms to be used in communications between a synchronization client device and the synchronization server are negotiated, such negotiation can be omitted in alternative embodiments, if for example a single cryptographic algorithm is designated to be used by all synchronization client devices for each particular cryptographic operation (encryption, production of MAC code, production of DS signature).

[0096] En outre, bien que la figure 5 donne un exemple de chaîne de blocs, les principes décrits ici peuvent être appliqués à une vaste gamme de types de chaînes de blocs dans lesquelles chaque bloc comprend un horodatage.In addition, although Figure 5 gives an example of a blockchain, the principles described here can be applied to a wide range of types of blockchains in which each block includes a time stamp.

[0097] Il apparaîtra également à l'homme de l'art qu'il est possible de combiner le mode de réalisation de la figure 2 avec le mode de réalisation de la figure 4, le dispositif client de synchronisation TCI étant capable d'obtenir une estimation temporelle pour valider un certificat d'authentification, par exemple en relation avec un session DTLS, avant la phase de configuration par le serveur d'authentitication AS.It will also appear to those skilled in the art that it is possible to combine the embodiment of FIG. 2 with the embodiment of FIG. 4, the TCI synchronization client device being capable of obtaining a time estimate to validate an authentication certificate, for example in connection with a DTLS session, before the configuration phase by the authentication server AS.

Claims (10)

REVENDICATIONS 1. Procédé de production d'une estimation temporelle au moyen d'un dispositif électronique (402) comprenant une interface de réseau (704) pour communiquer à travers un réseau de communication, ce procédé comprenant :1. A method for producing a time estimate by means of an electronic device (402) comprising a network interface (704) for communicating through a communication network, this method comprising: - la demande, par le dispositif électronique (402) à un nœud (404) d'un réseau de chaînes de blocs (406), d'entêtes d'une série de blocs (B0 à BN) d'une chaîne de blocs (BC) ;- the request, by the electronic device (402) to a node (404) of a network of block chains (406), of headers of a series of blocks (B0 to BN) of a block chain ( BC); - l'extraction d'un horodatage de l'en-tête d'un bloc le plus récent (B(N-j)) de la série ; et- extracting a timestamp from the header of a most recent block (B (N-j)) in the series; and - la production d'une estimation temporelle à partir de 1'ho ro da t age ex t r ai t.- the production of a temporal estimate from the ex ro t age ho ro t. 2. Procédé selon la revendication 1, consistant en outre à :2. Method according to claim 1, further consisting in: - demander, à un autre nosud du réseau de chaînes de blocs, des en-têtes de la série de blocs (B0 à BN) de la chaîne d e b 1 o c s ( B C ) ; e t- request, from another nosud in the block chain network, headers from the block series (B0 to BN) of the chain d e b 1 o c s (B C); and - extraire un autre horodatage de l'en-tête du bloc le plus récent (B(N-j)) de la série demandé audit autre nœud, dans lequel la production de l'estimation temporelle est en outre basée sur ledit autre horodatage.- extract another timestamp from the header of the most recent block (B (N-j)) of the series requested at said other node, in which the production of the time estimate is also based on said other timestamp. 3. Procédé selon la revendication 1 ou 2, dans lequel la chaîne de blocs comprend une chaîne de blocs allant d'un bloc d'origine (B0) à un N-ème bloc produit le plus récemment (BN) , dans lequel l'en-tête du bloc le plus récent de la série est un (N-j)-ème bloc de la chaîne de blocs (BC), j étant compris entre 6 et 15.3. Method according to claim 1 or 2, in which the block chain comprises a block chain going from an original block (B0) to an N-th most recently produced block (BN), in which the header of the most recent block in the series is a (Nj) -th block of the block chain (BC), j being between 6 and 15. 4. Procédé selon la revendication 3, dans lequel chaque bloc de la chaîne de blocs, hormis le bloc d'origine (B0) , comprend une empreinte d'un bloc précédent (HASH(PREV)) de la chaîne.4. Method according to claim 3, in which each block of the block chain, apart from the original block (B0), comprises an imprint of a previous block (HASH (PREV)) of the chain. B17674B17674 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la chaîne de blocs (BC) est la chaîne de blocs d'une crypto-monnaie.5. Method according to any one of claims 1 to 4, wherein the block chain (BC) is the block chain of a cryptocurrency. 6. Procédé de vérification d'un certificat d'authentification comprenant :6. Method for verifying an authentication certificate comprising: - la production d'une estimation temporelle selon un procédé selon l’une quelconque des revendications 1 à 5; et- the production of a time estimate according to a method according to any one of claims 1 to 5; and - la vérification, par le dispositif électronique (402), de la validité temporelle du certificat d'authentifi-cation à partir de l'estimation temporelle produite.- Verification, by the electronic device (402), of the time validity of the certificate of authentication from the time estimate produced. 7. Dispositif électronique comprenant une interface de réseau (704) pour communiquer à travers un réseau de communication, le dispositif électronique étant configuré de manière à :7. Electronic device comprising a network interface (704) for communicating through a communication network, the electronic device being configured so as to: - demander à un nœud (404) d'un réseau de chaînes de blocs (406) des en-têtes d'une série de blocs (B0 à BN) d'une chaîne de blocs (BC) ;- asking a node (404) of a network of block chains (406) for headers of a series of blocks (B0 to BN) of a block chain (BC); - extraire un horodatage de l'en-tête d'un bloc le plus récent (B(N—j)) de la série ; et produire une estimation temporelle à partir de 1'ho ro da t age ex t r ai t.- extract a timestamp from the header of a most recent block (B (N — j)) in the series; and produce a time estimate from the ex ro t age ho ro t. 8. Dispositif électronique selon la revendication 7, par ailleurs configuré de manière à :8. Electronic device according to claim 7, further configured so as to: - demander, à un autre nœud du réseau de chaînes de blocs, des en-têtes de la série de blocs (B0 à BN) de la chaîne de blocs (BC) ; et- request, from another node of the blockchain network, headers from the series of blocks (B0 to BN) from the blockchain (BC); and - extraire un autre horodatage de l'en-tête du bloc le plus récent de la série demandé audit autre nœud, dans lequel la production de 1 ' estimation temporelle est en outre basée sur ledit autre horodatage.- extract another timestamp from the header of the most recent block in the series requested from said other node, in which the production of the time estimate is also based on said other timestamp. 9. Dispositif électronique selon la revendication 7 ou 8, dans lequel la chaîne de blocs comprend une chaîne de blocs 9. Electronic device according to claim 7 or 8, wherein the block chain comprises a block chain B17674 allant d'un bloc d'origine (B0) à un N-ème bloc produit le plus récemment (BN), dans lequel 1'en-tête du bloc le plus récent de la série est un (N-j ) -ème bloc de la chaîne de blocs (BC), j étant compris entre 6 et 15.B17674 ranging from an original block (B0) to an N-th most recently produced block (BN), in which the header of the most recent block in the series is an (Nj) -th block of the block chain (BC), j being between 6 and 15. 10. Dispositif électronique selon l'une quelconque des revendications 7 à 9, par ailleurs configuré de manière à vérifier la validité temporelle d'un certificat d'authentification à partir de l'estimation temporelle produite.10. Electronic device according to any one of claims 7 to 9, further configured so as to verify the time validity of an authentication certificate from the time estimate produced.
FR1858872A 2018-09-27 2018-09-27 SECURE TIME ESTIMATE Active FR3086829B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1858872A FR3086829B1 (en) 2018-09-27 2018-09-27 SECURE TIME ESTIMATE
PCT/EP2019/076014 WO2020064920A1 (en) 2018-09-27 2019-09-26 Secure time estimation
EP19773112.8A EP3857843A1 (en) 2018-09-27 2019-09-26 Secure time estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1858872A FR3086829B1 (en) 2018-09-27 2018-09-27 SECURE TIME ESTIMATE

Publications (2)

Publication Number Publication Date
FR3086829A1 true FR3086829A1 (en) 2020-04-03
FR3086829B1 FR3086829B1 (en) 2023-01-06

Family

ID=66166018

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1858872A Active FR3086829B1 (en) 2018-09-27 2018-09-27 SECURE TIME ESTIMATE

Country Status (3)

Country Link
EP (1) EP3857843A1 (en)
FR (1) FR3086829B1 (en)
WO (1) WO2020064920A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251603A1 (en) * 2004-04-27 2005-11-10 Sony Corporation Time setting system and time setting method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251603A1 (en) * 2004-04-27 2005-11-10 Sony Corporation Time setting system and time setting method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FAN KAI ET AL: "Secure Time Synchronization Scheme in IoT Based on Blockchain", 2018 IEEE INTERNATIONAL CONFERENCE ON INTERNET OF THINGS (ITHINGS) AND IEEE GREEN COMPUTING AND COMMUNICATIONS (GREENCOM) AND IEEE CYBER, PHYSICAL AND SOCIAL COMPUTING (CPSCOM) AND IEEE SMART DATA (SMARTDATA), IEEE, 30 July 2018 (2018-07-30), pages 1063 - 1068, XP033556393, DOI: 10.1109/CYBERMATICS_2018.2018.00196 *
FATEN MKACHER ET AL: "Secure Time Synchronization Protocol", 2018 IEEE INTERNATIONAL SYMPOSIUM ON PRECISION CLOCK SYNCHRONIZATION FOR MEASUREMENT, CONTROL, AND COMMUNICATION (ISPCS), 1 September 2018 (2018-09-01), https://hal.archives-ouvertes.fr/hal-01865259v1, pages 1 - 6, XP055604644, Retrieved from the Internet <URL:http://hal.univ-grenoble-alpes.fr/hal-01865259/document> [retrieved on 20190711], DOI: 10.1109/ISPCS.2018.8543077 *
STENN D MILLS P PRINDEVILLE NETWORK TIME FOUNDATION H: "Network Time Protocol: Secure Network Time; draft-stenn-ntp-secure-network-time-00.txt", NETWORK TIME PROTOCOL: SECURE NETWORK TIME; DRAFT-STENN-NTP-SECURE-NETWORK-TIME-00.TXT; INTERNET-DRAFT: INTERNET ENGINEERING TASK FORCE, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205, 2 July 2018 (2018-07-02), pages 1 - 4, XP015127553 *

Also Published As

Publication number Publication date
FR3086829B1 (en) 2023-01-06
EP3857843A1 (en) 2021-08-04
WO2020064920A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
EP3506556B1 (en) Method of authenticated key exchange via blockchain
CN107919956B (en) End-to-end safety guarantee method in cloud environment facing to Internet of things
EP3437247B1 (en) System and method for distribution of identity based key material and certificate
EP3174241B1 (en) Method for establishing secure end-to-end communication between a user terminal and a connected object
EP2484084B1 (en) Method and devices allowing communication secure against denial of services (dos) and against flooding attacks in a telecommunications network
EP3506557A1 (en) Method for exchanging keys by intelligent contract deployed on a blockchain
FR2988942A1 (en) METHOD AND SYSTEM FOR ESTABLISHING A SESSION KEY
EP1480375A1 (en) Method for digital group signature with revokable anonymity, apparatuses and programs for carrying out said method
WO2009076811A1 (en) A method, a system, a client and a server for key negotiating
JP2008113426A (en) Method and apparatus for authentication
FR3004041A1 (en) METHOD AND DEVICE FOR ESTABLISHING SESSION KEYS
EP2186252B1 (en) Method for distributing cryptographic keys in a communication network
WO2011151573A1 (en) Method and devices for secure communications in a telecommunications network
CN108040071B (en) Dynamic switching method for VoIP audio and video encryption key
US20240089115A1 (en) Secure time synchronization
CN111526001A (en) Clock synchronization method, device and system
FR3086829A1 (en) SECURE TEMPORAL ESTIMATE
Skaug et al. Keeping connected in internet-isolated locations
Mæland et al. Distributed Trust Empowerment for Secure Offline Communications
WO2021133153A1 (en) Transaction signing with ergonomic addressing and compact encapsulation
WO2021074527A1 (en) Method for managing a public key database, method for authenticating public keys, and server device and client device implementing these methods
CN114679261A (en) Chain anonymous communication method and system based on key derivation algorithm
CN117097542A (en) Industrial Internet of things cloud manufacturing security service method and system
Zare Bit Chat: A Peer-to-Peer Instant Messenger
FR2961994A1 (en) METHOD OF SECURALLY ALLOCATING IPV6 ADDRESS TO A NODE OF A PRIVATE NETWORK

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200403

PLFP Fee payment

Year of fee payment: 3

TQ Partial transmission of property

Owner name: INSTITUT POLYTECHNIQUE DE GRENOBLE, FR

Effective date: 20210202

Owner name: UNIVERSITE GRENOBLE ALPES, FR

Effective date: 20210202

Owner name: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE, FR

Effective date: 20210202

Owner name: SCPTIME, FR

Effective date: 20210202

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

TQ Partial transmission of property

Owner name: UNIVERSITE GRENOBLE ALPES, FR

Effective date: 20221122

Owner name: SCPTIME, FR

Effective date: 20221122

Owner name: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE, FR

Effective date: 20221122

Owner name: INSTITUT POLYTECHNIQUE DE GRENOBLE, FR

Effective date: 20221122

PLFP Fee payment

Year of fee payment: 6