FR3086830A1 - Synchronisation temporelle securisee - Google Patents

Synchronisation temporelle securisee Download PDF

Info

Publication number
FR3086830A1
FR3086830A1 FR1858873A FR1858873A FR3086830A1 FR 3086830 A1 FR3086830 A1 FR 3086830A1 FR 1858873 A FR1858873 A FR 1858873A FR 1858873 A FR1858873 A FR 1858873A FR 3086830 A1 FR3086830 A1 FR 3086830A1
Authority
FR
France
Prior art keywords
synchronization
value
key
server
client device
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
FR1858873A
Other languages
English (en)
Other versions
FR3086830B1 (fr
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.)
Centre National de la Recherche Scientifique CNRS
Institut Polytechnique de Grenoble
Universite Grenoble Alpes
SCPtime SAS
Original Assignee
Centre National de la Recherche Scientifique CNRS
Institut Polytechnique de Grenoble
Universite Grenoble Alpes
Gorgy Timing SA
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 Centre National de la Recherche Scientifique CNRS, Institut Polytechnique de Grenoble, Universite Grenoble Alpes, Gorgy Timing SA filed Critical Centre National de la Recherche Scientifique CNRS
Priority to FR1858873A priority Critical patent/FR3086830B1/fr
Priority to PCT/EP2019/076013 priority patent/WO2020064919A1/fr
Priority to CN201980064291.1A priority patent/CN113169872A/zh
Priority to US17/277,559 priority patent/US20210351933A1/en
Priority to EP19773111.0A priority patent/EP3857813A1/fr
Publication of FR3086830A1 publication Critical patent/FR3086830A1/fr
Application granted granted Critical
Publication of FR3086830B1 publication Critical patent/FR3086830B1/fr
Priority to US18/506,516 priority patent/US20240089115A1/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
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/3247Cryptographic 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 digital signatures
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

La présente invention concerne 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 (AS), 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 (TS) les première et deuxième valeurs.

Description

DESCRIPTION
TITRE : SYNCHRONISATION TEMPORELLE SECURISEE
Domaine technique [0001] La. présente invention concerne en générale les dispositifs électroniques adaptés à communiquer par des réseaux de communication, un protocole de synchronisation temporelle sécurisé et un dispositif et un procédé 'obtention sécurisée d'une estimation temporelle.
Technique antérieure [0002] La figure 1 illustre schématiquement un système 100 de synchronisation temporelle. Le système comprend un serveur de synchronisation (TS) et un dispositif client de synchronisation (TC) qui communiquent à travers un réseau de comimunication. Le dispositif client de synchronisation TC est une entité de réseau qui souhaite obtenir une synchronisation temporelle sécurisée, par exemple, pour synchroniser son horloge locale 102 avec une référence précise. Pour ce faire, il contacte le serveur de synchronisation TS par l'intermédiaire du réseau de communication au moyen d'un protocole de synchronisation temporelle (TIME SYNC), tel que le protocole d'heure réseau (NTP : network time protocol) .
[0003] Ce serveur de synchronisation TS comprend par exemple une source de synchronisation précise 104, telle qu'un oscillateur micro-atomique ou d'autres moyens de maintien d'une référence temporelle précise.
0004] Le dispositif client de synchronisation TC p demander une synchronisation temporelle au serveur de synchronisation TS pendant une phase d’initialisation suivant une première activation du client de synchronisation TC, cette opération pouvant être répétée à intervalles réguliers pour assurer une synchronisation
B17456 temporelle entre l’horloge locale 102 du dispositif client de synchronisation TC et la source de synchronisation précise 104 du serveur de synchronisation TS
0005] La figure 1 illustre le cas d’un seul dispositif client de synchronisation TC. Toutefois, le dispositif
client de synchronisation TC et le serveur de synchro-
nisation TS ! peuvent faire partie d'ui a réseau relativement
grand dans lequel se trouvent de nombreux dispositifs
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.
[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 de
B17456 synchronisation TS demande une validation préalable du certificat.
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 l’art antérieur.
[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 coæmuni cat i οn, le client de synchronisât guré 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.
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.
[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é.
[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.
B17456
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 synchronisation, l'identifiant étant par exemple une adresse IP (Internet Protocol : Protocole internet).
[0013] Selon un mode de réalisation, le dispositif client de synchronisation est confiquré 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.
[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.
[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 l'authentification du troisième message en vérifiant la troisième valeur à partir de la première clé ou d'une clé publique.
[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œud
B17456 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.
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 po ur communique 2r à travers un rése au de communica-
tion, le serveur d'a .uthent i ricat ion éta nt configure de
maniér Θ 3. transmettre à travers le réseau de communication
à 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.
[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 configuré de manière à
B17456 authentifier le deuxième dispositif client de synchronisation à partir de la quatrième valeur.
[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 communiquer à 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.
[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'authentification à 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.
0021] Selon un autre aspect, la présente invention prévoit un procédé de production d'une estimation temporelle au
B17456 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.
[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.
[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.
[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.
[0025] Selon un mode de réalisation, la chaîne de blocs est la chaîne de blocs d'une crypto-monnaie.
[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.
B17456
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 temporelles à partir de 1'horodatage extrait.
[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.
[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.
[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.
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 :
B17456 [0032] [Fig. 1] la figure 1 (décrite ci-dessus) illustre schématiquement un système de synchronisation temporelle ;
[0033] [Fig. 2] la figure 2 illustre schématiquement un système de synchronisation temporelle selon un exemple de réalisation de la présente invention ;
[0034] [Fig. 3] la 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 ;
[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 ;
[0036] [Fig. 5] la figure 5 représente une chaîne de blocs selon un exemple de réalisation de la présente 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.
Description des modes de réalisation
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.
[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 électrique
B17456 entre éléments de circuit qui peut être directe ou s'effectuer par l'intermédiaire d'un ou plusieurs éléments.
[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.
[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.
[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.
[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 temporelle
B17456 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.
[0045] Le système
200 comprend en outre un serveur d'authentification AS, comprenant par exemple une horloge locale orécise 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é.
[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 de
B17456 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 synchronisanon TCz .
[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.
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'authentification de
B17456 message (MAC : message authentication code) pris en charge et/ou les signatures numériques (DS : digital signature) prises en charge.
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.
[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 cryptographiques ALGO TC pris en charge, y compris, dans certains
B17456 modes de réalisation, les code: la signature numérique DS pr variantes de réalisation, le ciiromsation TCr ne uransmet serveur de synchronisation T S serveur d'authentification AS synchronisation TS au ciispositi TCI.
MAC pris en charge et/ou -ise en charge. Dans des dispositif client de synpas l'identifiant TSID du mais, au lieu de cela, le propose un serveur de f client 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 [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 certains cas, la clé d'accès public Ke du serveur de synchronisation TS, ainsi que le ou les algorithme (s) cryptographique (s) négocié (s) ALOG TC TS compatible (s) à la 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)j et TCID-[K,C], dans lesquelles les identifiants TSID et TCID peuvent correspondre à des adresses IP du serveur de
B17456 synchronisation et du dispositif client de synchronisation, respectivement.
[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 l'utilisation de l'état C permet par exemple au serveur de synchronisation 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 ci-dessous. 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.
[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.
0057] Les algorithmes MAC pris en charge par le serveur de synchronisation et/ou par le dispositif client de
B17456 synchronisation TCI comprennent par exemple l'algorithme HMAC-SHA256 (Hash-based Message Authentication Code Secure Hash Algorithm) et/ou l'algorithme AES-CMAC (Advanced Encryption Standard - Cipher-based Message Authentication Code) et/ou l'algorithme HMAC-MD5 (HMAC Message Digest 5).
sen La signature numérique DS prise en charge par le zeur de synchronisation et/ou par le dispositif client
de synchronisation TCI comprend par exemple la signature
Ed25519, qui est une signature EdDSA (Edwards-curve Digital
Signature Algorithm) utilisant SHA-512 et Curve25519, et/ou
la signature MQQ-SIG (Multivariate Quadratic Quasigroups
ture).
[0059] Pour initier une phase de synchronisation temporelle (TIME SYNC), le dispositif client de synchronisation TCI transmet par exemple un message ml au serveur de synchronisation TS. Le message ml comprend par exemple des données correspondant au protocole particulier à utiliser pour la synchronisation temporelle. Par exemple, dans le cas du protocole NTP, le message comprend un horodatage Tl correspondant à 1'horodatage du dispositif client de synchronisation TCI à l'instant où le message ml est. produit et transmis. En outre, le message ml comprend par exemple un nonce n, ainsi que l'état C. Le nonce n est par exemple une valeur aléatoire comprise dans chaque message ml et. assure une protection contre les attaques par rejeu. Par exemple, le serveur de synchronisation TS comprend ce nonce n, ou un code MAC ou une signature numérique basé sur ce nonce, dans un message de réponse ultérieur (décrit plus en détail ci-dessous) au dispositif client de synchronisation, qui peut alors vérifier que le nonce n est 1e même.
B17456
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 MA.C 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, ou du nonce n. à partir de l'état C
[0061] Les messages ml et m2 sont par exemple t. r ansmis de
manière indépendante, de sorte que le serveur de ; synchro-
nisation TS peut traiter le message initial ml aussitôt
qu'il est reçu sans véririer préalab lement .1 e code MAC.
Ainsi, on améliore la qualité de l'opération de synchro-
nisation temporelle. Toutefois, dans des variantes de réalisation, les messages ml et m2 pourraient être transmis e n un s e u1 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'horodatage T3 correspond à 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 modes de réalisation, l'algorithme négocié AfLGO TC TS. Le serveur de synchronisation TS est ensuite par exemple en mesure de
B17456 vérifier le code d'authentification de message MAC
MAC K(ml) fourni dans le message m2 à partir de la symétrique 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 1'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|lm3) et la signature numérique DS kd(ml||m3) 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
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.
[0066] Le dispositif client de synchronisation TCI est alors en mesure de déterminer une estimation relativement précise du temps en calculant le décalage temporel de son horloge
B17456 locale 102 par rapport à l'horloge 104 du serveur de synchronisation TS et le temps de propagation aller et retour RTT des communications entre le client de synchronisation TCI et le serveur de synchronisation TS, qui sont par exemple déterminés par les équations suivantes :
[0067] [Math 1] [Math où T4 est un horodatage correspondant à l'instant de réception du message m3 par le dispositif client de synchronisation TCI .
[0069] Le dispositif client de synchronisation TCI est par exemple configuré pour régler son horloge à partir des valeurs calculées d'Offset et de RTT. Comme le comprendra l'homme de l'art, dans certains cas, l'opération de synchronisation est répétée plusieurs fois et le réglage d'horloge se fait à partir d'un filtrage et/ou d'une analyse statistique de l'ensemble calculé de valeurs d'Offset et de RTT. En outre, dans certains modes de réali-sation, la valeur de RTT est comparée à un paramètre de seuil Δ, et le dispositif client de synchronisation TCI est configuré pour rejeter le message m.4 et/ou faire avorter la synchronisation temporelle si la valeur de RTT dépasse le paramètre de seuil Δ, assurant ainsi la défense contre les attaques par introduction d'un retard.
[0070] Le dispositif client de synchronisation TCI authentifie également par exemple les informations temporelles fournies par le serveur de synchronisation TS en vérifiant
B17456 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|lm3), 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 m.4. 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.
[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.
[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.
[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.
[0074] Dans le système 400, un dispositif électronique 402 souhaite obtenir une estimation de l'heure actuelle. Par
B17456 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 loT (Internet of Things : Internet des objets).
[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.
[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.
[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écrit 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.
B17456 [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 BO à BN, le bloc BO é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) ontenant 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 BO 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 noeuds du réseau de chaînes de blocs.
[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.
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.
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.
[0081] A une opération 601, le dispositif électronique 402 demande une série d'en-têtes au pair 404. Une commande 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
B17456 le cas de nœuds de Bitcoin, un maximum de 2 000 en-têtes
peut être fourni.
[0082] Dans certains modes de réalisation, un certain nombre
Q f θ r - -têtes des blocs les plus récents, qui peuvent rester
suj et :s à changement et ne sont pas nécessairement
immuables, sont exclus de la demande. Par exemple, l'en-
tête du bloc le plus récent demandé est l'en-tête du (N-
•j ) -èr ne 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
à 1 0 ,
[0083] Le pair 404 prend par exemple l'empreinte du (N—j)—
ème 1 )loc et répond au dispositif 4 02 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 1 ' en- atteindre la fin de la chaîne de blocs et identifie -tête du bloc le plus récent N-j de la série.
[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 l'horodatage de chaîne de bloc pourrait être différent et converti dans le format approprié.
[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 l'authenticité des en-têtes et pour assurer une protection contre les attaques MÏTM (man-in-the-middle : par hôte interposé) 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,
B17456 qui est par exemple à nouveau l'en-tête du (N-j)-ème bloc, puis d'extraire l'horodatage de cet en-tête. Le nouvel horodatage est par exemple comparé à l'horodatage extrait précédemment pour vérifier qu'ils sont identiques, vérifiant de la sorte l'horodatage à partir de deux nœuds séparés.
0086] A une opération 603, une heure actuelle est estimée à 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.
[0087] Comme l'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 temporel 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.
0088] A une opération 604, un certificat est par exemple validé à partir de l'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.
[0089] La figure 7 illustre schématiquement dispositif client de synchronisation TCI de la figure 2 plus en détail selon un exemple de réalisation.
[0090] Le dispositif TCI comprend par exemple un processeur (P) 702 comprenant un ou plusieurs cœurs de processeur. Le
B17456 processeur 702 est par exemple couplé à une horloge locale (LOCAL CLOCK) 102, qui comprend par exemple un oscillateur local, tel qu'un oscillateur à quartz ou équivalent, ainsi qu'un ou plusieurs compteurs. Le dispositif TCI comprend également par exemple une interface de réseau (NETWORK INTERFACE) 7 04 et. une mémoire (MEMORY) 706 couplées au processeur 702.
[0091] La mémoire 706 stocke par exemple des instructions qui, lorsqu'elles sont, exécutées par le processeur 7 02, provoquent la mise en ceuvre des opérations du dispositif client de synchronisation TCI décrites ci-dessus en relation avec la figure 3.
[00921 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 également des mémoires stockant des instructions qui mettent en oeuvre les opérations de ces dispositifs décrits ci-dessus en relation avec la figure 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
B17456 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é l'utilisation du serveur d'authentification AS, les échanges entre le dispositif client de synchronisation et le serveur de synchronisation TS sont sécurisés par la production et la transmission au serveur de synchronisation 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.
[0094] Un avantage des modes de réalisation décrits en relation avec les figures 4 à 6 est qu' il est possible d'obtenir une estimation temporelle sûre de manière simple et sécurisée.
[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 de 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
B17456 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).
[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.
[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 ' a u t n e n 11 f i c a c ι ο n AS .

Claims (10)

  1. REVENDICATIONS
    1. Dispositif client de synchronisation comprenant une interface de réseau pour communiquer 2î travers un réseau de communication, le dispositif client de synchronisation étant configuré de manière à :
    recevoir, à travers le réseau de communication en provenance d'un serveur d'authentification (AS), une première clé (K) et une première valeur (C) contenant la première clé (K) sous forme cryptée ;
    - produire une deuxième valeur (MAC K(ml)) au moyen de la première clé (K) ; et
    - pendant une phase de synchronisation temporelle, transmettre à un serveur de synchronisation (TS) les première et deuxième valeurs (C, MAC__K(ml)) .
  2. 2. Dispositif client de synchronisation selon la revendication
    1, configuré, pendant la phase de synchronisation temporelle, de manière à :
    transmettre la première valeur (C) au serveur de synchronisation (TS) dans un premier message (ml) comprenant un premier horodatage (Tl) et ;
    - transmettre la deuxième valeur (MAC K(ml)) au serveur de synchronisation (TS) dans un deuxième message (m2).
    Dispositif client de synchronisation selon la revend ication 2 f dans lequel la deuxième valeur est ur r code d/autnenti.f icauion c de message (MAC K(ml)) du premi e r me s- sage (ml) produit a; j moyen de la première clé (K).
  3. 4. Dispositif client de synchronisation selon l'une quelconque des revendications 1 à 3, dans lequel la première valeur (C) contient en outre une indication d'un algorithme de cryptage (ALGO TC TS) à utiliser pour produire la deuxième valeur (MAC K(ml)).
    B17456
  4. 5. Dispositif client de synchronisation selon l'une quelconque des revendications 1 à 4, par ailleurs configuré de manière à transmettre à travers le réseau de communication une requête à un serveur d'authentification (AS) pour obtenir la première clé (K) et la première valeur (C), la requête contenant un identifiant (TCID) du dispositif client de synchronisation, l'identifiant étant par exemple une adresse IP (Internet Protocol : Protocole internet).
  5. 6. Dispositif client de synchronisation selon la revendication
    5, configuré de manière à comprendre par ailleurs dans la requête un identifiant (TSID) du serveur de synchronisation (TS), l'identifiant du serveur de synchronisation (TS) étant par exemple une adresse IP.
  6. 7. Dispositif client de synchronisation selon l'une quelconque des revendications 1 à 6, dans lequel la première valeur (C) est cryptée au moyen d'une deuxième clé (S) inconnue du dispositif client de synchronisation.
  7. 8. Dispositif client de synchronisation selon l'une quelconque des revendications 1 à 7, par ailleurs configuré de manière à :
    - recevoir du serveur de synchronisation (TS) un troisième message (m3) contenant un ou plusieurs horodatages (T2, T3)
    - recevoir du serveur de synchronisation (TS) une troisième valeur (MAC K (ml||m3) , DS Kd (ml||m3) ) correspondant à : un code d'authentification de message d'au moins une partie du premier message (ml) et/ou d'au moins une partie du troisième message (m3) produit au moyen de la première clé (K) ; ou une signature numérique d'au moins une partie du premier message (ml) et/ou d'au moins une partie du troisième message (m3) produite à partir d'une clé privée (Kd) ; et
    B17456
    authentifier le troisième me issage en vérifiant la
    roisième valeur (MAC_K (ml||m3 ) , DS_Kd (ml||m3 ) ) à partir de a première clé (K) ou d'une clé publique (Ke) .
    9. Dispositif client de synchronisati< on selon l'une quelconque des revendications 1 à 8, par aillt surs configuré de manière
    à é produire une estimation temporelle en demandant à 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 à E )N) d'une chaîne de blocs
    C) , extraire un horodatage de l'en-tête d'un bloc le plus
    récent de la série ; et produire 1 .'estimation temporelle à
    partir de 1'horodatage extrait ; et valider un certificat d'authentification du serveur
    d ' a u t n e n 11 f i c a c ι ο n ( AS ) à p a r 11 r de l'estimation tempo-
    relie.
    10. Système de synchronisation LΘΙΠ.ρθ 1?Θ -ί 1Θ COlTLpîSGRcin u Z
    un serveur d'authentification (AS) comprenant une interface de réseau pour communiquer à travers un réseau de communication, le serveur d'authentification (AS) étant configuré de manière à transmettre à travers le réseau de
    communication à un premier dispos sitif client de synchro- nisation (TCI) une première clé (B () et. une première valeur (C) contenant, la première clé (K) sous forme cryptée ; et. - un serveur de synchronisation ( TS) configuré de manière à recevoir du premier dispositif c •lient de synchronisation (TCI), lors d'une phase de synchr onisation temporelle, la première valeur (C) et une deux ième valeur (MAC K(ml)) produite au moyen de la première clé (K) , le serveur de synchronisation étant configuré d< e manière à authentifier le premier dispositif client de synchronisation (TCI) à partir de la deuxième valeur (MAC K(ml) ) .
    B17456
  8. 11. Système de synchronisation temporelle selon la revendication 10, dans lequel:
    le serveur d'authentification (AS) est par ailleurs configuré de manière à transmettre, à travers le réseau de communication à un deuxième dispositif client de synchronisation (TC2), une troisième clé (K) et une troisième valeur (C) contenant la troisième clé (K) sous forme cryptée ; et le serveur de synchronisation (TS) est par ailleurs configuré de manière à recevoir du deuxième dispositif client de synchronisation (TC2), pendant une phase de synchronisation temporelle, la troisième valeur (C) et une quatrième valeur (MAC K(ml)) produite au moyen de la troisième clé (K), le serveur de synchronisation étant configuré de manière à authentifier le deuxième dispositif client de synchronisation (TC2) à partir de la quatrième valeur (MAC K(ml)).
  9. 12. Procédé d'obtention d'une synchronisation temporelle par un dispositif client de synchronisation (TCI) comprenant une interface de réseau pour communiquer à 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 (AS), d'une première clé (K) et une première valeur (C) contenant la première clé (K) sous forme cryptée ;
    la production, par le dispositif client de synchronisation (TCI), d'une deuxième valeur (MAC_K(ml)) au moyen de la première clé (K) ; et
    - pendant une phase de synchronisation temporelle, la transmission par le dispositif client de synchronisation des première et deuxième valeurs (C, MAC K (ml)) à un serveur de synchronisation (TS).
    B17456
  10. 13. Procédé de synchronisation temporelle par un système de synchronisation temporelle, ce procédé comprenant :
    - la transmission, par un serveur d'authentification (AS) âr travers un réseau de communication à un dispositif client de synchronisation (TCI), d'une première clé (K) et d'une première valeur (C) contenant la première clé (K) sous forme cryptée ;
    - pendant une phase de synchronisation temporelle, la réception par un serveur de synchronisation (TS) en provenance du dispositif client de synchronisation (TCI) de la première valeur (C) et d'une deuxième valeur (MAC K(ml)) produite au moyen de la première clé (K) ; et
    - l'authentification par le serveur de synchronisation (TS) du dispositif client de synchronisation (TCI) à partir de la deuxième valeur (MAC K(ml)).
FR1858873A 2018-09-27 2018-09-27 Synchronisation temporelle securisee Active FR3086830B1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR1858873A FR3086830B1 (fr) 2018-09-27 2018-09-27 Synchronisation temporelle securisee
PCT/EP2019/076013 WO2020064919A1 (fr) 2018-09-27 2019-09-26 Synchronisation temporelle sécurisée
CN201980064291.1A CN113169872A (zh) 2018-09-27 2019-09-26 安全时间同步
US17/277,559 US20210351933A1 (en) 2018-09-27 2019-09-26 Secure time synchronization
EP19773111.0A EP3857813A1 (fr) 2018-09-27 2019-09-26 Synchronisation temporelle sécurisée
US18/506,516 US20240089115A1 (en) 2018-09-27 2023-11-10 Secure time synchronization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1858873A FR3086830B1 (fr) 2018-09-27 2018-09-27 Synchronisation temporelle securisee

Publications (2)

Publication Number Publication Date
FR3086830A1 true FR3086830A1 (fr) 2020-04-03
FR3086830B1 FR3086830B1 (fr) 2023-01-06

Family

ID=66166019

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1858873A Active FR3086830B1 (fr) 2018-09-27 2018-09-27 Synchronisation temporelle securisee

Country Status (5)

Country Link
US (2) US20210351933A1 (fr)
EP (1) EP3857813A1 (fr)
CN (1) CN113169872A (fr)
FR (1) FR3086830B1 (fr)
WO (1) WO2020064919A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3871395A4 (fr) * 2018-11-15 2021-12-08 Huawei Technologies Co., Ltd. Remise à la clé d'une association de sécurité sa

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

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3542895B2 (ja) * 1997-08-22 2004-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 時間制約暗号システム
US20050005114A1 (en) * 2003-07-05 2005-01-06 General Instrument Corporation Ticket-based secure time delivery in digital networks
US8688588B2 (en) * 2007-06-08 2014-04-01 Sandisk Technologies Inc. Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation
EP2405621B1 (fr) * 2010-07-07 2013-08-28 Siemens Aktiengesellschaft Procédé de communication de synchronisation horaire
CN102594803B (zh) * 2012-01-18 2016-03-23 深圳市文鼎创数据科技有限公司 信息安全设备及服务器时间同步方法
US8873589B2 (en) * 2012-09-04 2014-10-28 Khalifa University Of Science, Technology And Research Methods and devices for clock synchronization
IN2013DE02939A (fr) * 2013-10-03 2015-04-10 Alcatel Lucent
CN103944720B (zh) * 2014-04-08 2018-03-16 武汉信安珞珈科技有限公司 一种使动态令牌时间同步的方法
CN106656928A (zh) * 2015-10-30 2017-05-10 西门子公司 云环境下的客户端与服务器之间的认证方法和装置
EP3446213A1 (fr) * 2016-04-21 2019-02-27 Philips Lighting Holding B.V. Nuage informatique permettant de surveiller des environnements physiques
US11463253B2 (en) * 2016-09-23 2022-10-04 Apple Inc. Network timing synchronization
US10476682B2 (en) * 2017-03-01 2019-11-12 Cisco Technology, Inc. Transaction management in distributed ledger systems
CN107395312B (zh) * 2017-09-19 2019-03-19 电信科学技术第五研究所有限公司 一种安全网络时间同步方法及装置
US10833849B2 (en) * 2018-03-21 2020-11-10 Clover Network, Inc. Unified secure device provisioning
US20190342101A1 (en) * 2018-05-04 2019-11-07 John William Hayes Secure time communication system

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
EP3857813A1 (fr) 2021-08-04
FR3086830B1 (fr) 2023-01-06
US20210351933A1 (en) 2021-11-11
US20240089115A1 (en) 2024-03-14
CN113169872A (zh) 2021-07-23
WO2020064919A1 (fr) 2020-04-02

Similar Documents

Publication Publication Date Title
EP3506556B1 (fr) Méthode d&#39;échange de clés authentifié par chaine de blocs
EP3506557B1 (fr) Méthode d&#39;échange de clés par contrat intelligent déployé sur une chaine de blocs
US10951423B2 (en) System and method for distribution of identity based key material and certificate
EP3174241B1 (fr) Méthode d&#39;établissement d&#39;une communication sécurisée de bout en bout entre le terminal d&#39;un utilisateur et un objet connecté
US10491580B2 (en) Methods and apparatuses for enabling an establishment of a second secure session over a communication network
US8990569B2 (en) Secure communication session setup
EP2484084B1 (fr) Procédé et dispositifs de communications securisées contre les attaques par innondation et denis de service (dos) dans un réseau de télécommunications
FR2988942A1 (fr) Methode et systeme d&#39;etablissement d&#39;une cle de session
WO2019178942A1 (fr) Procédé et système d&#39;exécution de négociation ssl
EP2186252B1 (fr) Procede de distribution de cles cryptographiques dans un reseau de communication
FR2960734A1 (fr) Procede et dispositifs de communications securisees dans un reseau de telecommunications
FR3004041A1 (fr) Procede et dispositif d&#39;etablissement de cles de session
US20240089115A1 (en) Secure time synchronization
CN108040071B (zh) 一种VoIP音视频加密密钥动态切换方法
CN111526001A (zh) 时钟同步方法、装置和系统
FR3086829A1 (fr) Estimation temporelle securisee
Skaug et al. Keeping connected in internet-isolated locations
EP1418702B1 (fr) Procédé d&#39;échange securisé entre deux unités de communication, système de contrôle et serveur pour la mise en oeuvre du procédé
Mæland et al. Distributed Trust Empowerment for Secure Offline Communications
WO2021133153A1 (fr) Signature de transaction avec adressage ergonomique et encapsulation compacte
Zare Bit Chat: A Peer-to-Peer Instant Messenger
FR2961994A1 (fr) Procede d&#39;allocation securisee d&#39;une adresse ipv6 a un noeud d&#39;un reseau prive
FR2888434A1 (fr) Communications securisees entre plusieurs entites
FR2900776A1 (fr) Procede de securisation de donnees

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: UNIVERSITE GRENOBLE ALPES, FR

Effective date: 20210202

Owner name: SCPTIME, FR

Effective date: 20210202

Owner name: INSTITUT POLYTECHNIQUE DE GRENOBLE, FR

Effective date: 20210202

Owner name: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE, 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