CH716268A2 - Procédé de partage d'un secret parmi les noeuds d'un réseau informatique, avec contrôle statistique de noeuds défaillants. - Google Patents

Procédé de partage d'un secret parmi les noeuds d'un réseau informatique, avec contrôle statistique de noeuds défaillants. Download PDF

Info

Publication number
CH716268A2
CH716268A2 CH00742/19A CH7422019A CH716268A2 CH 716268 A2 CH716268 A2 CH 716268A2 CH 00742/19 A CH00742/19 A CH 00742/19A CH 7422019 A CH7422019 A CH 7422019A CH 716268 A2 CH716268 A2 CH 716268A2
Authority
CH
Switzerland
Prior art keywords
nodes
fragments
enclave
new
node
Prior art date
Application number
CH00742/19A
Other languages
English (en)
Inventor
Attia Jonathan
Louiset Raphaël
Original Assignee
Lapsechain Sa C/O Leax Avocats
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 Lapsechain Sa C/O Leax Avocats filed Critical Lapsechain Sa C/O Leax Avocats
Priority to CH00742/19A priority Critical patent/CH716268A2/fr
Publication of CH716268A2 publication Critical patent/CH716268A2/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

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

Abstract

L'invention concerne un procédé de stockage sécurisé d'un secret D parmi des noeuds (S i ) de stockage d'un réseau (1) informatique, qui comprend la détection de noeuds (S i ) de stockage défaillants par analyse statistique, conduite dans une enclave (5), d'erreurs sur les valeurs reconstituées du secret, et la redistribution du secret D à partir de l'enclave (5) vers de nouveaux noeuds (S i ) de stockage.

Description

DOMAINE TECHNIQUE
[0001] L'invention a trait au domaine de l'informatique, et plus précisément au domaine du stockage distribué, en réseau, de données secrètes.
ART ANTERIEUR
[0002] La problématique du stockage d'une donnée informatique que l'on souhaite conserver secrète (appelée simplement „secret“) n'est pas nouvelle.
[0003] Une méthode classique pour protéger un secret d'un accès non autorisé est le chiffrement, réalisé au moyen d'une clé cryptographique de chiffrement dont l'action sur le secret a pour effet de le brouiller de sorte à le rendre illisible. Une clé cryptographique de déchiffrement appliquée au secret brouillé a pour effet inverse de le débrouiller, de sorte à retomber sur le secret sous sa forme lisible.
[0004] Lorsqu'une seule clé cryptographique sert pour le chiffrement et le déchiffrement, on dit que le chiffrement et la clé sont symétriques. Lorsque la clé de chiffrement et la clé de déchiffrement sont différentes, on dit que le chiffrement et les clés sont asymétriques.
[0005] Le chiffrement, qu'il soit symétrique ou asymétrique, rend, certes, illisible la donnée initiale mais il transpose la problématique du secret à la clé qui en permet de déchiffrement, de sorte que se pose à nouveau la question du stockage de cette clé.
[0006] Stocker cette clé sur un support mémoire isolé de tout réseau (typiquement sur une carte SD ou un disque dur externe) permet, certes, de maintenir le secret à l'abri d'accès non autorisés. Mais se pose alors le problème du vol, de la perte ou de l'endommagement du support.
[0007] Une méthode théorique, dite du partage de clé secrète de Shamir, a été proposée pour résoudre ces problèmes (A. Shamir, How To Share a Secret, in Communications of the ACM, Vol.22, Issue 11, Nov. 1979, pp.612-613).
[0008] Cette solution consiste à diviser (ou fragmenter) le secret, noté D, en un nombre N (N un entier, N≥3) prédéterminé de parties ou fragments Di(i = 1, ...N), et à partager (ou distribuer) les fragments parmi un groupe de participants dont chacun est dépositaire d'un unique fragment, de telle sorte que : La détention ou la connaissance d'un nombre prédéterminé K (K un entier, 2 < K < N) de fragments Di(quels qu'ils soient) permet de reconstituer le secret D ; En revanche, la connaissance ou la détention d'un nombre inférieur ou égal à K -1 de fragments Dine permet pas de recalculer le secret D.
[0009] On comprend donc qu'aucun participant détenteur d'un unique fragment Din'est en mesure, seul, de reconstituer le secret D.
[0010] La méthode du partage de clé secrète de Shamir s'applique typiquement à une clé cryptographique (le secret, D) divisée en fragments (Di) partagés parmi les noeuds (dénomination usuelle des terminaux, ordinateurs ou serveurs) d'un réseau informatique.
[0011] Cette méthode est avantageuse dans la mesure où elle permet de reconstituer le secret D même dans l'hypothèse où une partie des fragments Di(ou leurs noeuds dépositaires) seraient volés, perdus ou endommagés. Plus précisément, la reconstitution du secret D demeure possible tant que le nombre de fragments Di(ou de noeuds dépositaires) disponibles reste supérieur ou égal à K.
[0012] En d'autres termes, le nombre de fragments Diindisponibles (c'est-à-dire dont les dépositaires ont été volés, perdus, endommagés, ou encore, et plus simplement, sont hors ligne), doit demeurer strictement inférieur à N - K.
[0013] En revanche, dès lors que le nombre de fragments Didisponible devient strictement inférieur à K, ou, en d'autres termes, dès lors que le nombre de fragments Diindisponibles atteint ou dépasse N-K, la reconstitution du secret D devient, mathématiquement, impossible. Dans ces conditions, le secret D est perdu, à moins qu'une sauvegarde n'en ait été faite (ce qui serait incohérent avec le recours initial à la méthode du partage de clé secrète de Shamir).
[0014] Sur le plan pratique, la méthode du partage de clé secrète de Shamir pose par conséquent le problème du contrôle de l'intégrité et de la disponibilité des fragments Diet/ou des participants dépositaires des fragments Di, c'est-à-dire de la vérification que chaque participant possède effectivement son fragment, et, surtout, que ce fragment est inaltéré, et disponible pour la participation à la reconstitution du secret D.
[0015] Plus généralement, la méthode du partage de clé secrète de Shamir pose le problème de la pérennité du stockage des fragments D.
[0016] L'invention vise à apporter une solution à ces problèmes, en proposant un procédé de stockage qui contrôle l'intégrité et la disponibilité des fragments Didu secret D, et, en cas de défaillance constatée parmi des noeuds dépositaires, effectue une redistribution du secret.
RESUME DE L'INVENTION
[0017] Il est proposé un procédé de stockage sécurisé d'une donnée D informatique au sein d'un réseau informatique comprenant une pluralité de noeuds, ce procédé comprenant :
[0018] A) Une phase de distribution, qui comprend les opérations consistant, à partir d'un noeud du réseau dit noeud distributeur, équipé d'une unité de traitement informatique dans laquelle est implémenté un environnement d'exécution sécurisé par cryptographie, dit enclave, à : - Instancier l'enclave ; - Dans l'enclave du nœud distributeur : o Créer ou charger la donnée D informatique ; o Fragmenter la donnée D informatique en un nombre prédéterminé N (N un entier, N ≥<>3) de fragments Di(i un entier, 1≤ i≤ N) tel qu'un nombre prédéterminé K (K un entier, 2 ≤ K < N) de fragments Diest suffisant pour permettre une reconstitution de la donnée D ; o Désigner, parmi le réseau, un ensemble de N noeuds de stockage ; o Distribuer les N fragments Divers les N noeuds de stockage, chaque nœud de stockage recevant un unique fragment Di ; B) Une phase de contrôle, qui comprend la désignation, parmi les noeuds du réseau, d'un noeud de contrôle équipé d'une unité de traitement informatique dans laquelle est implémentée une enclave ; - Instancier l'enclave ; - Dans l'enclave du nœud de contrôle : o Charger les fragments Dià partir des nœuds de stockage ; o Pour chaque combinaison j (j un entier, ) de K fragments Di, reconstituer une version Vjde la donnée ; o Identifier une première population de P (P un entier, P ≥ K) noeuds de stockage dont les combinaisons des fragments Dicontribuent à reconstituer une même version D' de la donnée, dite version de référence ; o Déclarer intègres les P noeuds de cette première population ; o Identifier une deuxième population de N - P noeuds de stockage qui n'appartiennent pas à la première population ; o Déclarer défaillants les N-P noeuds de cette deuxième population ; o Fragmenter la version D' de référence de la donnée en un nombre prédéterminé N de nouveaux fragments D'jtel qu'un nombre K de nouveaux fragments D'jest suffisant pour permettre une reconstitution de cette version D'de référence de la donnée ; o Désigner, parmi le réseau, un nouvel ensemble de N noeuds de stockage comprenant les P noeuds intègres et N - P nouveaux noeuds de stockage distincts des N-P noeuds de stockage défaillants ; o Distribuer les N nouveaux fragments D'jvers les N nœuds de stockage du nouvel ensemble, chaque nœud de stockage recevant un unique nouveau fragment D'j.
BREVE DESCRIPTION DES FIGURES
[0019] D'autres objets et avantages de l'invention apparaîtront à la lumière de la description d'un mode de réalisation, faite ci-après en référence aux dessins annexés dans lesquels : LaFIG.1est un schéma simplifié illustrant un réseau pair-à-pair dont au moins un noeud est équipé d'une unité de traitement sur laquelle est implémentée une enclave ; LaFIG.2est un schéma fonctionnel illustrant pour partie une architecture réseau, pour partie une phase de distribution du procédé de stockage ; LaFIG.3est un schéma fonctionnel illustrant pour partie une architecture réseau, pour partie une phase de contrôle du procédé de stockage.
DESCRIPTION DETAILLEE DE L'INVENTION
[0020] Le procédé proposé vise à stocker, de manière sécurisée, une donnée D informatique au sein d'un réseau 1 informatique (ici du type pair-à-pair) comprenant une pluralité de noeuds 2 (ordinateurs, serveurs).
[0021] Comme nous le verrons, ce procédé de stockage applique la méthode de partage du secret de Shamir, dans lequel la donnée D est fragmentée avant d'être distribuée parmi des participants (ici des noeuds 2 du réseau 1).
[0022] Le procédé de stockage proposé exploite notamment la technologie de l'environnement d'exécution sécurisé ou, en terminologie anglo-saxonne, du trusted execution environment (TEE).
[0023] Par référence à laFIG.1, un environnement d'exécution sécurisé (Trusted exécution environment ou TEE) est, au sein d'une unité 3 de traitement informatique équipant un noeud 2 et pourvue d'un processeur ou CPU (Central Processing Unit) 4, un espace 5 temporaire de calcul et de stockage de données, appelé (par convention) enclave, ou encore enclave cryptographique, qui se trouve isolé, par des moyens cryptographiques, de toute action non autorisée résultant de l'exécution d'une application hors de cet espace, typiquement du système d'exploitation.
[0024] Intel® a, par exemple, revu à partir de 2013 la structure et les interfaces de ses processeurs pour y inclure des fonctions d'enclave, sous la dénomination Software Guard Extension, plus connue sous l'acronyme SGX. SGX équipe la plupart des processeurs de type XX86 commercialisés par Intel® depuis 2015, et plus précisément à partir de la sixième génération incorporant la microarchitecture dite Skylake. Les fonctions d'enclave proposées par SGX ne sont pas accessibles d'office : il convient de les activer via le système élémentaire d'entrée/sortie (Basic Input Output System ou BIOS).
[0025] Il n'entre pas dans les nécessités de la présente description de détailler l'architecture des enclaves, dans la mesure où : En dépit de sa relative jeunesse, cette architecture est relativement bien documentée, notamment par Intel® qui a déposé de nombreux brevets, cf. par ex., parmi les plus récents, la demande de brevet américain US 2019/0058696 ; Des processeurs permettant de les implémenter sont disponibles sur le marché - notamment les processeur Intel® précités ; Seules les fonctionnalités permises par l'enclave nous intéressent ici, ces fonctionnalités pouvant être mises en oeuvre via des lignes de commande spécifiques. A ce titre, l'homme du métier pourra se référer au guide édité en 2016 par Intel® : Software Guard Extensions, Developer Guide.
[0026] Pour une description plus accessible des enclaves, et plus particulièrement d'Intel® SGX, l'homme du métier peut également se référer à A. Adamski, Overview of Intel SGX - Part 1, SGX Internal, ou à D. Boneh, Surnaming Schemes, Fast Verification, and Applications to SGX Technology, in Topics in Cryptology, CT - RSA 2017, The Cryptographers' Track at the RSA Conférence 2017, San Francisco, CA, USA, Feb.14-17, 2017, Proceedings, pp.149-164, ou encore à K. Severinsen, Secure Programming with Intel SGX and Novel Applications, Thesis submitted for the Degree of Master in Programming and Networks, Dept. Of Informatics, Faculty of Mathematics and Natural Science, University of Oslo, Autumn 2017.
[0027] Pour résumer, en référence à laFIG.1, une enclave 5 comprend, en premier lieu, une zone 6 mémoire sécurisée (dénommée Page Cache d'enclave, en anglais Enclave Page Cache ou EPC), qui contient du code et des données relatives à l'enclave elle-même, et dont le contenu est chiffré et déchiffré en temps réel par une puce dédiée dénommée Moteur de Chiffrement de Mémoire (en anglais Memory Encryption Engine ou MEE). L'EPC 6 est implémentée au sein d'une partie de la mémoire vive dynamique (DRAM) 7 allouée au processeur 4, et à laquelle les applications ordinaires (notamment le système d'exploitation) n'ont pas accès.
[0028] L'enclave 5 comprend, en deuxième lieu, des clés cryptographiques employées pour chiffrer ou signer à la volée les données sortant de l'EPC 6, ce grâce à quoi l'enclave 5 peut être identifiée (notamment par d'autres enclaves), et les données qu'elle génère peuvent être chiffrées pour être stockées dans des zones de mémoire non protégées (c'est-à-dire hors de l'EPC 6).
[0029] Pour pouvoir exploiter une telle enclave 5, une application 8 doit être segmentée en, d'une part, une ou plusieurs parties 9 non sécurisées (en anglais untrusted part(s)), et, d'autre part, une ou plusieurs parties 10 sécurisées (en anglais trusted part(s)).
[0030] Seuls les processus induits par la (les) partie(s) 10 sécurisée(s) de l'application 8 peuvent accéder à l'enclave 5. Les processus induits par la (les) partie(s) 9 non sécurisée(s) ne peuvent pas accéder à l'enclave 5, c'est-à-dire qu'ils ne peuvent pas dialoguer avec les processus induits par la (les) partie(s) 10 sécurisée(s).
[0031] La création (également dénommée instanciation) de l'enclave 5 et le déroulement de processus en son sein sont commandés via un jeu 11 d'instructions particulières exécutables par le processeur 4 et appelées par la (les) partie(s) 10 sécurisée(s) de l'application 8.
[0032] Parmi ces instructions : ECREATE commande la création d'une enclave 5 ; EINIT commande l'initialisation de l'enclave 5 ; EADD commande le chargement de code dans l'enclave 5 ; ERESUME commande une nouvelle exécution de code dans l'enclave 5 ; EEXIT commande la sortie de l'enclave 5, typiquement à la fin d'un processus exécuté dans l'enclave 5.
[0033] On a, sur laFIG.1, représenté de manière fonctionnelle l'enclave 5 sous la forme d'un bloc (en traits pointillés) englobant la partie 10 sécurisée de l'application 8, le jeu 11 d'instructions du processeur 4, et l'EPC 6. Cette représentation n'est pas réaliste ; elle vise simplement à regrouper visuellement les principaux éléments qui composent ou exploitent l'enclave 5.
[0034] Nous expliquerons ci-après comment sont exploitées les enclaves.
[0035] Le procédé de stockage comprend trois phases, à savoir une phase de distribution, une phase de contrôle et une phase de redistribution.
[0036] La phase de distribution comprend une opération préliminaire consistant à désigner parmi le réseau 1 un noeud 2D dit noeud distributeur, équipé d'une unité 3 de traitement informatique dans laquelle est implémentée une enclave 5.
[0037] Cette enclave 5 est, tout d'abord, instanciée.
[0038] Dans l'enclave 5 se déroulent ensuite les opérations suivantes.
[0039] Une première opération consiste à créer ou charger la donnée D informatique.
[0040] Selon un mode de réalisation illustré sur la FIG.2, la donnée D est chargée à partir d'un terminal 12 relié (ou appartenant) au réseau 1. Dans ce cas, ce chargement est avantageusement effectué via une ligne 13 de communication sécurisée (typiquement par le protocole Transport Layer Security ou TLS), établie entre le terminal 12 et l'enclave 5 du noeud 2D distributeur.
[0041] A cet effet, l'enclave 5 peut être pourvue, dès son instanciation, d'une émulation d'interface 14 de communication supportant le protocole choisi (ici TLS) pour l'échange des données sécurisées
[0042] Une deuxième opération consiste, en application de la méthode du partage de clé secrète de Shamir, à fragmenter la donnée D informatique en un nombre prédéterminé N (N un entier, N ≥ 3) de fragments Di(i un entier, 1 ≤ i ≤ N) tel qu'un nombre prédéterminé K (K un entier, 2 ≤ K < N) de fragments Diest suffisant pour permettre une reconstitution de la donnée D.
[0043] A cet effet, l'enclave 5 est avantageusement pourvue d'un module 15 de calcul incluant un moteur 16 de fragmentation.
[0044] Une troisième opération consiste à désigner, parmi le réseau 1, un ensemble de N noeuds Si(1 ≤ i ≤ N) de stockage.
[0045] Une quatrième opération consiste à distribuer les N fragments Divers les N noeuds Side stockage, chaque noeud Side stockage recevant un unique fragment Di. A cet effet, l'enclave 5 est avantageusement pourvue d'un module 17 de distribution qui conduit ces opérations.
[0046] Les fragments Dipeuvent ainsi être conservés sur les noeuds Side stockage pendant une durée indéterminée, au moins tant que la reconstitution du secret D n'a pas été sollicitée.
[0047] Ponctuellement, ou régulièrement, la phase de contrôle vise à déterminer la fiabilité des noeuds Side stockage, et plus précisément à déterminer si des noeuds Side stockage (et lesquels) sont défaillants, c'est-à-dire que les fragments Diqu'ils sont censés stocker sans altération ont en fait été effacés ou altérés, ou encore que des noeuds Sisont hors ligne, et donc dans l'impossibilité de communiquer leur fragment Di- à supposer qu'ils l'aient conservé.
[0048] La phase de contrôle comprend une opération préliminaire consistant à désigner, parmi les noeuds 2 du réseau, un noeud 2C de contrôle équipé d'une unité de traitement informatique dans laquelle est implémentée une enclave 5 (FIG.3).
[0049] Cette enclave 5 est, tout d'abord, instanciée.
[0050] Dans l'enclave 5 se déroulent ensuite les opérations suivantes.
[0051] Une première opération consiste à charger les fragments Dià partir des nœuds Side stockage. A cet effet, l'enclave 5 est pourvue d'un module 18 de chargement.
[0052] Une deuxième opération consiste, pour chaque combinaison j (j un entier, ) de K fragments Di, à reconstituer une version Vjde la donnée.
[0053] A cet effet, l'enclave 5 est avantageusement équipée d'un module 19 de calcul pourvu d'un moteur 20 de défragmentation.
[0054] On a illustré sur laFIG.3les reconstructions de versions Vjde la donnée dans le cas (purement hypothétique et illustratif) où N = 6 et K = 3. Les valeurs Vjsont, à des fins illustratives, rassemblées dans la colonne droite d'une table dont la colonne gauche liste les combinaisons correspondantes des fragments Diavec 1 ≤ i ≤ 6.
[0055] Une quatrième opération consiste à identifier une première population POP1 de P (P un entier, P ≥ K) noeuds Side stockage dont les combinaisons des fragments Dicontribuent à reconstituer une même version D' de la donnée, dite version de référence.
[0056] Dans le cas illustré, on voit que : D' = V1= V3= V4= V6= V7= V10= V12= V13= V16= V19
[0057] D'où, ici : POP1 = {S1; S2; S3; S5; S6}
[0058] Les P nœuds de la première population POP1 sont déclarés intègres.
[0059] Une cinquième opération consiste à identifier une deuxième population POP2 de N-P noeuds Side stockage qui n'appartiennent pas à la première population POP1.
[0060] On voit ici, par exemple, que S4n'appartient pas à POP1. On voit effectivement dans la table de laFIG.4que le fragment D4(correspondant au noeud S4), que l'on a entouré d'un cercle pour une meilleure visualisation, est commun à toutes les combinaisons dont la version Vjreconstituée est différente de la valeur de référence.
[0061] Ainsi, dans le cas illustré : POP1 = {S4}
[0062] Les N-P noeuds de la deuxième population POP3 (ici S4) sont déclarés défaillants.
[0063] Le procédé proposé prévoit de remplacer les noeuds Sidéfaillants pour garantir la pérennité du stockage. Tel est l'objet de la phase de redistribution, qui comprend les opérations suivantes, conduites dans l'enclave du noeud2Cde contrôle.
[0064] Compte tenu de ce qui précède, la version D' de référence est considérée comme étant le secret à partager. A cet effet, pour conduire la phase de redistribution, l'enclave 5 du noeud 2C de contrôle se comporte de manière similaire - et remplit des fonctions similaires - à l'enclave 5 du noeud 2D de distribution.
[0065] Une première opération consiste par conséquent, en application de la méthode du partage de clé secrète de Shamir, à fragmenter le secret D' en un nombre prédéterminé N de nouveaux fragments D'itel qu'un nombre K de nouveaux fragments D'iest suffisant pour permettre une reconstitution du secret D'.
[0066] Une deuxième opération consiste à désigner, parmi le réseau 1, un nouvel ensemble de N noeuds Side stockage comprenant les P noeuds intègres (qui ont démontré leur fiabilité) et N-P nouveaux noeuds Side stockage, distincts des N - P noeuds Sidéfaillants (qui ont démontré leur manque de fiabilité).
[0067] Une troisième opération consiste à distribuer les N nouveaux fragments D'jvers les N noeuds Side stockage du nouvel ensemble, chaque noeud Side stockage recevant un unique nouveau fragment D'i.
[0068] Selon un mode préféré de réalisation, dans chaque noeud Siintègre, l'ancien fragment Diest remplacé par le nouveau D'i.
[0069] Ce procédé permet par conséquent de redistribuer le secret dès lors que des noeuds Side stockage apparaissent défaillants, au bénéfice de la fiabilité du stockage.
[0070] En outre, le fait que les données soient traitées au sein d'une enclave 5 évite que le secret, reconstitué temporairement pour les besoins du contrôle, soit accessible à des tiers.

Claims (2)

1. Procédé de stockage sécurisé d'une donnée D informatique au sein d'un réseau (1) informatique comprenant une pluralité de noeuds (2), ce procédé comprenant : A) Une phase de distribution, qui comprend les opérations consistant, à partir d'un nœud (2D) du réseau (1) dit nœud distributeur, équipé d'une unité (3) de traitement informatique dans laquelle est implémenté un environnement d'exécution sécurisé par cryptographie, dit enclave (5), à : - Instancier l'enclave (5) ; - Dans l'enclave (5) du noeud (2D) distributeur : o Créer ou charger la donnée D informatique ; o Fragmenter la donnée D informatique en un nombre prédéterminé N (N un entier, N ≥ 3) de fragments Di(i un entier, 1 ≤ i ≤ N) tel qu'un nombre prédéterminé K (K un entier, 2 ≤ K < N) de fragments Diest suffisant pour permettre une reconstitution de la donnée D ; o Désigner, parmi le réseau (1), un ensemble de N noeuds (Si) de stockage ; o Distribuer les N fragments Divers les N noeuds (Si) de stockage, chaque nœud (Si) de stockage recevant un unique fragment Di; B) Une phase de contrôle, qui comprend la désignation, parmi les noeuds (2) du réseau (1), d'un noeud (2C) de contrôle équipé d'une unité (3) de traitement informatique dans laquelle est implémentée une enclave (5) ; - Instancier l'enclave (5) ; - Dans l'enclave (5) du nœud (2C) de contrôle : o Charger les fragments Dià partir des nœuds (Si) de stockage ; o Pour chaque combinaison j (j un entier, ) de K fragments Di, reconstituer une version Vjde la donnée ; o Identifier une première population de P (P un entier, P ≥ K) noeuds (Si) de stockage dont les combinaisons des fragments Dicontribuent à reconstituer une même version D' de la donnée, dite version de référence ; o Déclarer intègres les P nœuds (Si) de cette première population ; o Identifier une deuxième population de N - P noeuds (Si) de stockage qui n'appartiennent pas à la première population ; o Déclarer défaillants les N-P noeuds (Si) de cette deuxième population ; o Fragmenter la version D' de référence de la donnée en un nombre prédéterminé N de nouveaux fragments D'jtel qu'un nombre K de nouveaux fragments D'jest suffisant pour permettre une reconstitution de cette version D'de référence de la donnée ; o Désigner, parmi le réseau (1), un nouvel ensemble de N nœuds (Si) de stockage comprenant les P noeuds (Si) intègres et N-P nouveaux noeuds (Si) de stockage distincts des N - P noeuds (Si) de stockage défaillants ; o Distribuer les N nouveaux fragments D'jvers les N nœuds (Si) de stockage du nouvel ensemble, chaque nœud (Si) de stockage recevant un unique nouveau fragment D'j.
2. Procédé selon la revendication 1, caractérisé en ce que, dans chaque noeud (Si) intègres, l'ancien fragment Diest remplacé par le nouveau D'i.
CH00742/19A 2019-06-07 2019-06-07 Procédé de partage d'un secret parmi les noeuds d'un réseau informatique, avec contrôle statistique de noeuds défaillants. CH716268A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH00742/19A CH716268A2 (fr) 2019-06-07 2019-06-07 Procédé de partage d'un secret parmi les noeuds d'un réseau informatique, avec contrôle statistique de noeuds défaillants.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH00742/19A CH716268A2 (fr) 2019-06-07 2019-06-07 Procédé de partage d'un secret parmi les noeuds d'un réseau informatique, avec contrôle statistique de noeuds défaillants.

Publications (1)

Publication Number Publication Date
CH716268A2 true CH716268A2 (fr) 2020-12-15

Family

ID=73727403

Family Applications (1)

Application Number Title Priority Date Filing Date
CH00742/19A CH716268A2 (fr) 2019-06-07 2019-06-07 Procédé de partage d'un secret parmi les noeuds d'un réseau informatique, avec contrôle statistique de noeuds défaillants.

Country Status (1)

Country Link
CH (1) CH716268A2 (fr)

Similar Documents

Publication Publication Date Title
Guan et al. Hadoop-based secure storage solution for big data in cloud computing environment
US11893577B2 (en) Cryptographic key storage system and method
EP3055965B1 (fr) Procede et dispositif d&#39;authentification et d&#39;execution securisee de programmes
US8429428B2 (en) System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
US20140201541A1 (en) Secure online distributed data storage services
CN107533623A (zh) 安全存储器系统
GB2517913A (en) Remote data storage
CN114722115B (zh) 数据库操作方法和全加密数据库
CH716268A2 (fr) Procédé de partage d&#39;un secret parmi les noeuds d&#39;un réseau informatique, avec contrôle statistique de noeuds défaillants.
US20220291999A1 (en) Encryption key management
FR3010598A1 (fr) Procede de gestion de coherence de caches
CH716265A2 (fr) Procédé de stockage de données informatiques sur un réseau avec preuve de stockage à partir d&#39;un noeud de calcul équipé d&#39;une enclave cryptographique.
CH716264A2 (fr) Procédé de stockage de données informatiques sur un réseau avec preuve de stockage obtenue par un noeud de stockage équipé d&#39;une enclave cryptographique.
CH716298A2 (fr) Procédé de stockage, sous forme cryptée, d&#39;une application sur un réseau blockchain, avec audit préalable du code source de cette application.
CH716267A2 (fr) Procédé de stockage de données informatiques sur un réseau blockchain avec preuve de stockage à partir d&#39;un noeud de calcul épuipé d&#39;une enclave cryptographique.
CN115632890B (zh) 隐私数据及金融隐私数据的安全解密方法和装置
WO2020012079A1 (fr) Gouvernance de sécurité du traitement d&#39;une requête numérique
CH716269A2 (fr) Procédé de stockage de données informatiques par distribution sur un réseau public, avec sauvegarde sur un réseau privé ayant un noeud maître équipé d&#39;une enclave.
CH716263A2 (fr) Procédé de stockage de données informatiques par distribution d&#39;un conteneur crypté et de sa clé de déchiffrement fragmentée sur un réseau blockchain.
CH716266A2 (fr) Procédé de stockage de données informatiques sur un réseau blockchain avec preuve de stockage à partir d&#39;un noeud de stockage équipé d&#39;une enclave cryptographique.
CH716273A2 (fr) Procédé de stockage de données informatiques sur un réseau, avec double distribution sur deux ensembles disjoints de noeuds du réseau.
CH716272A2 (fr) Procédé de stockage de données informatiques par distribution sur un réseau public, avec sauvegarde sur un réseau privé ayant des noeuds équipés d&#39;enclaves.
CH716262A2 (fr) Procédé de stockage de données informatiques par distribution d&#39;un conteneur crypté et de sa clé de déchiffrement sur des noeuds distincts d&#39;un réseau blockchain.
CH716261A2 (fr) Procédé de stockage de données informatiques par distribution d&#39;un conteneur crypté et de sa clé de déchiffrement sur un réseau blockchain.
Joseph et al. Multimedia encryption in cloud computing: an overview

Legal Events

Date Code Title Description
AZW Rejection (application)