Brevet FR3079324A1 — publié le 20190927

La présente invention concerne le domaine des systèmes de gestion de données. L'invention concerne plus particulièrement un système de gestion de données permettant un contrôle temporel de l'accès aux données. Un système de gestion de données, ou, de façon plus complète, système de gestion 5 de base de données (ou DBMS pour « DataBase Management System » en anglais) est un système destiné à enregistrer et, ultérieurement, à partager des données dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des données. Un système de gestion de données permet ainsi d'enregistrer, de retrouver (ou lire), de modifier, de trier, de transformer ou d'imprimer les données de la base de données. Un 10 système de gestion de données prend communément la forme d'un logiciel, ou programme d'ordinateur, installé sur un ou plusieurs serveurs informatiques (ci-après serveurs), ainsi que possiblement sur une pluralité de dispositifs électroniques dits « clients ». Dans un système de gestion de données, certaines données peuvent nécessiter 15 d'avoir une durée de vie limitée. C'est-à-dire que passé une certaine date ou un certain délai, le système de gestion de données doit pouvoir garantir que ces données ne sont plus accessibles, par quelque moyen que ce soit. Le besoin d'une durée de vie limitée est généralement lié à une obligation légale d'une durée maximale de conservation de certaines données, mais peut aussi être lié à des obligations contractuelles. 20 Classiquement, le respect de l'obligation d'une durée de vie limitée des données conservées dans un système de gestion de données est obtenu par un effacement des données concernées passé le terme de la durée de vie de ces données. Bien souvent, l'effacement des données concernées dans les bases de données ne pose pas de problème. Le traitement des éventuelles sauvegardes des bases de données est lui 25 beaucoup plus problématique. Il faudrait en effet idéalement alors restaurer toutes les sauvegardes déjà effectuées, procéder à l'effacement des données devant être effacées afin de garantir qu'elles ne pourront pas être restaurées par le futur, et ensuite régénérer toutes les sauvegardes. Ce procédé est très complexe à mettre en oeuvre, et est très rarement mis en oeuvre. Dans la pratique, il est bien souvent constaté que l'effacement 30 de données à durée de vie limitée n'est effectif que lorsque le procédé de sauvegarde commence à réécrire sur des anciennes sauvegardes, effaçant de fait les anciennes 2 sauvegardes. Pour des procédés de sauvegardes utilisant des supports physiques non réinscriptibles, seul une destruction physique des anciennes sauvegardes pourrait permettre de garantir l'inaccessibilité des données à effacer. Mais bien souvent, détruire une ancienne sauvegarde va à l'encontre même du principe de la sauvegarde. Il n'est pas aujourd'hui possible de garantir pratiquement l'inaccessibilité de données à durée de vie limitée enregistrées dans un système de gestion de données régulièrement sauvegardé. Il est à noter qu'une problématique identique existe lorsqu'un effacement des données est demandé par un propriétaire de ces données. L'effacement doit aussi 10 garantir qu'une éventuelle restauration d'une sauvegarde passée ne restaure par la même occasion les données effacées. Il est donc nécessaire de proposer un procédé permettant de pallier ces inconvénients. L'invention concerne un procédé d'enregistrement de données pour un contrôle 15 temporel d'un accès à des données d'un système de gestion de données comprenant un serveur, le procédé étant exécuté par le serveur, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie, un index dit courant étant initialement prédéterminé, le procédé comprenant les étapes 20 suivantes : - recevoir un message comprenant des données à enregistrer dans le système de gestion de données, ainsi qu'une information concernant un délai de conservation souhaité de ces données, - déterminer, en fonction du délai de conservation souhaité, de la durée de 25 validité d'une clef de chiffrement, de l'index courant et de la taille de la liste, un index de chiffrement, - chiffrer les données reçues au moyen de la clef de chiffrement associée à l'index de chiffrement, - déterminer, en fonction des données reçues et de la clef de chiffrement utilisée 30 pour l'étape précédente de chiffrement de ces données, un code d'authentification, et - enregistrer lesdites données chiffrées en association avec l'index de chiffrement et le code d'authentification, 3 l'index courant étant mis à jour périodiquement, la période de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 5 - une incrémentation circulaire de l'index courant. Selon un mode de réalisation complémentaire de l'invention, le message comprenant les données à enregistrer comprenant de plus une information dite propriétaire, le procédé comprend une étape antérieure à l'étape de chiffrement : - déterminer une nouvelle clef de chiffrement en fonction de la clef de chiffrement associée à l'index de chiffrement et de l'information dite propriétaire, et : - chiffrer les données reçues se fait au moyen de la nouvelle clef de chiffrement, - déterminer le code d'authentification se faisant en fonction des données reçues et de la nouvelle clef de chiffrement, et - enregistrer les données chiffrées en association avec l'index de chiffrement et le code d'authentification se fait en outre en association avec l'information dite propriétaire. L'invention concerne également un procédé d'accès à des données d'un système de gestion de données permettant un contrôle temporel des accès aux données, le système de gestion comprenant un serveur, le procédé étant exécuté par le serveur, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie, un index dit courant étant initialement prédéterminé, le procédé comprenant les étapes suivantes : - recevoir une requête d'accès à des données enregistrées dans le système de gestion, les données étant enregistrées chiffrées et en association avec un index de chiffrement et un premier code d'authentification, - retrouver, en fonction de l'index de chiffrement, la clef de chiffrement de la liste de clefs de chiffrement associée à cet index de chiffrement, - déchiffrer les données chiffrées au moyen de la clef de chiffrement précédemment déterminée, - déterminer, en fonction des données déchiffrées et de la clef de chiffrement utilisée pour l'étape précédente, un deuxième code d'authentification, 4 - si le premier code d'authentification est égal au deuxième code d'authentification, alors, envoyer, en réponse à la requête d'accès, les données déchiffrées, - sinon, envoyer en réponse à la requête d'accès, un message indiquant une 5 indisponibilité des données, l'index courant étant mis à jour périodiquement, la période de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 10 - une incrémentation circulaire de l'index courant. Selon un mode de réalisation de l'invention complémentaire, les données étant enregistrées en outre en association avec une information dite propriétaire, le procédé comprend une étape antérieure à l'étape de déchiffrement : - déterminer une nouvelle clef de chiffrement en fonction de la clef de 15 chiffrement associée à l'index de chiffrement et de l'information dite propriétaire, et : - déchiffrer les données reçues se fait au moyen de la nouvelle clef de chiffrement, - déterminer le deuxième code d'authentification se fait en fonction des 20 données déchiffrées et de la nouvelle clef de chiffrement. L'invention concerne également un serveur d'un système de gestion de données permettant un contrôle temporel des accès aux données, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité 25 prédéfinie, un index dit courant étant initialement prédéterminé, le serveur étant adapté pour exécuter les étapes suivantes : - recevoir un message comprenant des données à enregistrer dans le système de gestion de données, ainsi qu'une information concernant un délai de conservation souhaité de ces données, 30 - déterminer, en fonction du délai de conservation souhaité, de la durée de validité d'une clef de chiffrement, d'un index courant et de la taille de la liste, un index de chiffrement, - chiffrer les données reçues au moyen de la clef de chiffrement associée à l'index de chiffrement, 5 - déterminer, en fonction des données reçues et de la clef de chiffrement utilisée pour l'étape précédente de chiffrement de ces données, un code d'authentification, et - enregistrer lesdites données chiffrées en association avec l'index de 5 chiffrement et le code d'authentification, l'index courant étant mis à jour périodiquement, la période de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 10 - une incrémentation circulaire de l'index courant. L'invention concerne également un serveur d'un système de gestion de données permettant un contrôle temporel des accès aux données, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité 15 prédéfinie, un index dit courant étant initialement prédéterminé, le serveur étant adapté pour exécuter les étapes suivantes : - recevoir une requête d'accès à des données enregistrées dans le système de gestion, les données étant enregistrées chiffrées et en association avec un index de chiffrement et un premier code d'authentification, 20 - retrouver, en fonction de l'index de chiffrement, la clef de chiffrement de la liste de clefs de chiffrement associée à cet index de chiffrement, - déchiffrer les données chiffrées au moyen de la clef de chiffrement précédemment déterminée, - déterminer, en fonction des données déchiffrées et de la clef de chiffrement 25 utilisée pour l'étape précédente, un deuxième code d'authentification, - si le premier code d'authentification est égal au deuxième code d'authentification, alors, envoyer, en réponse à la requête d'accès, les données déchiffrées, - sinon, envoyer en réponse à la requête d'accès, un message indiquant une 30 indisponibilité des données, l'index courant étant mis à jour périodiquement, la période de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 6 - une incrémentation circulaire de l'index courant. L'invention concerne également un système de gestion de données permettant un contrôle temporel des accès aux données, le système de gestion comprenant : - un serveur tel que décrit dans le présent document, 5 - au moins un dispositif électronique dit client permettant d'envoyer des données à enregistrer vers ledit serveur, les données étant associées à un délai de conservation souhaité, et/ou, - au moins un dispositif électronique dit client permettant d'envoyer une requête d'accès à des données enregistrées dans le système de gestion. 10 L'invention concerne également un programme d'ordinateur comprenant des instructions pour mettre en oeuvre, par un processeur d'un serveur d'un système de gestion de données, un procédé d'enregistrement de données pour un contrôle temporel d'un accès aux données du système de gestion de données tel que décrit dans le présent document, lorsque le programme d'ordinateur est exécuté par le processeur. 15 L'invention concerne également un support d'enregistrement, lisible par un serveur d'un système de gestion de données, sur lequel est stocké le précédent programme d'ordinateur. L'invention concerne également un programme d'ordinateur comprenant des instructions pour mettre en oeuvre, par un processeur d'un serveur d'un système de 20 gestion de données, un procédé d'accès, avec contrôle temporel, à des données du système de gestion de données tel que décrit dans le présent document, lorsque le programme d'ordinateur est exécuté par le processeur. L'invention concerne également un support d'enregistrement, lisible par un serveur d'un système de gestion de données, sur lequel est stocké le précédent 25 programme d'ordinateur. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : 30 - la Fig. 1 illustre schématiquement un procédé d'enregistrement de données pour un contrôle temporel d'un accès à des données d'un système de gestion de données selon un mode de réalisation de l'invention, 7 - la Fig. 2 illustre schématiquement un procédé d'accès à des données d'un système de gestion de données permettant un contrôle temporel des accès aux données selon un mode de réalisation de l'invention, - les Figs. 3A, 3B et 3C illustrent schématiquement un exemple d'incrémentation 5 d'un index courant sur une liste indexée de clefs de chiffrement selon un mode de réalisation de l'invention, - la Fig. 4 illustre schématiquement l'architecture d'un système de gestion de données selon un mode de réalisation de l'invention, - la Fig. 5 illustre schématiquement l'architecture matérielle d'un serveur d'un 10 système de gestion de données selon un mode de réalisation de l'invention. L'invention permet à un système de gestion de données de pouvoir garantir que des données, associées à une durée de vie limitée, ne sont plus accessibles passé un délai correspondant à la durée de vie des données. Le principe de l'invention est de chiffrer les données à enregistrer avec différentes clefs de chiffrement, chaque clef de 15 chiffrement ayant une durée de vie elle-même limitée. Ainsi, lorsqu'une clef de chiffrement n'est plus accessible, les données chiffrées avec cette même clef de chiffrement deviennent de facto elles aussi inaccessibles. La Fig. 1 illustre schématiquement un procédé 100 d'enregistrement de données pour un contrôle temporel d'un accès à des données d'un système de gestion de données 20 selon un mode de réalisation de l'invention. Le procédé 100 est typiquement exécuté par un serveur d'un système de gestion de données tel qu'un serveur 401 de la Fig. 4. Le serveur comprend une liste indexée de N clefs de chiffrement. Chaque index {1, ..., NI de la liste est associé à une clef de chiffrement unique. Chaque clef de chiffrement est associée à une même durée de 25 validité T prédéfinie. Un index « Ind » dit courant est initialement prédéterminé lors de la première initialisation du procédé 100. L'index courant est mis à jour périodiquement, la période de mise à jour étant égale à la durée de validité d'une clef de chiffrement. La mise à jour de l'index courant comprend les opérations suivantes, dans cet ordre : 30 - un remplacement (et donc effacement) de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, - une incrémentation circulaire de l'index courant. La nouvelle clef de chiffrement peut être prédéfinie ou bien générée aléatoirement à la demande. On parle ici d'incrémentation circulaire de l'index courant afin de prendre 8 en compte le cas où l'index courant atteint la valeur maximale de la liste indexée, c'est-à-dire N. L'incrémentation est circulaire dans le sens ou après la valeur de N, l'index courant recommence au début de la liste indexée. Dans le cas de l'exemple illustré en Fig. 3, l'index courant passe ainsi de la valeur N à la valeur 1 lors d'une mise à jour. 5 Selon un mode de réalisation de l'invention, le serveur peut enregistrer un temps ou moment d'initialisation du procédé 100. Ce temps ou moment peut aussi être prédéfini. Ainsi, en cas de redémarrage du serveur mettant en oeuvre le procédé 100, le serveur est en mesure, à partir du moment d'initialisation du procédé, du temps courant et de la durée de validité de chaque clef de chiffrement, de recalculer une valeur correcte 10 de l'index courant. Lors d'une première étape 101, le serveur reçoit un message comprenant des données à enregistrer dans le système de gestion de données, ainsi qu'une information concernant un délai de conservation V souhaité de ces données. Le serveur reçoit typiquement des données à enregistrer, les données étant accompagnées d'une durée de 15 validité, ou délai de conservation, des données à respecter. Selon un mode de réalisation de l'invention, le délai de conservation des données à enregistrer est prédéterminé. Ainsi, toute donnée reçue et à enregistrer est à conserver pour une durée prédéfinie connue. La durée de validité des données, ou plus précisément la date de fin de validité des données peut être aisément déterminée en fonction de la date courante, c'est-à-dire 20 le moment de réception des données, et de la durée de validité prédéterminée. Le procédé passe ensuite à l'étape 105 suivante. Lors de l'étape 105, le serveur détermine, en fonction du délai de conservation V souhaité, de la durée de validité d'une clef de chiffrement, de l'index courant et de la taille de la liste, un index de chiffrement. L'index de chiffrement « IndCh » est 25 déterminé selon la formule suivante : IndCh = (Ind + 1 + partie entière(V/T)) modulo 1V, avec : IndCh : index de chiffrement, Ind : index courant, partie entière( ) : fonction donnant la partie entière d'un nombre réel, 30 V: délai de conservation souhaité des données à enregistrer, T : durée de validité d'une clef de chiffrement, modulo : fonction « modulo » d'opération de calcul du reste de la division euclidienne, 9 N: nombre de clef de chiffrement, ou, dit autrement, taille de la liste indexée de clef de chiffrement. Ce procédé permet donc une durée de validité maximale égale à N*T, avec une granularité définie par T. Ainsi, si la durée de conservation doit être respectée, par 5 exemple au jour près, alors la durée de validité T doit être choisie égale à « un jour ». Par exemple, afin de garantir une durée de validité des données enregistrées de 12 mois, et afin de respecter cette obligation, par exemple légale, au jour près, alors, on choisira : - durée de validité d'une clef de chiffrement T égale à une journée, 1() - taille de la liste indexée (ou nombre de clef) N égale à 366. Il est alors possible d'enregistrer toutes données reçues pour une durée exacte de 365 ou 366 jours selon que l'année soit bissextile ou non. Selon un mode de réalisation de l'invention, la mise à jour de l'index courant est alors avantageusement réalisé à minuit chaque jour. Le serveur passe ensuite à une étape 110. 15 Lors d'une étape 110, le serveur détermine la clef de chiffrement associée à l'index de chiffrement précédemment déterminé. Pour cela, selon ce mode de réalisation de l'invention, le serveur retrouve la clef de chiffrement correspondant à l'index de chiffrement dans la liste des clefs de chiffrement. Lors d'une étape suivante 115, le serveur chiffre les données reçues au moyen de 20 la clef de chiffrement déterminée lors de l'étape 110. Dit autrement, le serveur chiffre les données reçues au moyen de la clef de chiffrement associée à l'index de chiffrement dans la liste indexée. Le serveur passe ensuite à l'étape 120. Selon un mode de réalisation, les étapes 115 et 120 sont réalisées en parallèle ou dans un ordre différent. Lors de l'étape 120, le serveur détermine, en fonction des données reçues et de la 25 clef de chiffrement utilisée pour l'étape 115 de chiffrement de ces données, un code d'authentification de message (ou MAC pour «Message Authentication Code » en anglais). Le code d'authentification est généré en fonction des données à enregistrer mais aussi de la clef de chiffrement utilisée pour chiffrer les données. Dans une étape suivante 125, le serveur enregistre les données chiffrées lors de 30 l'étape 115 en association avec l'index de chiffrement, déterminé lors de l'étape 105, et le code d'authentification déterminé lors de l'étape 120. Selon un mode de réalisation complémentaire de l'invention, le message reçu lors de l'étape 101 comprend de plus une information dite propriétaire. Dit autrement, les données à enregistrer comprennent un champ dit propriétaire. Le procédé 100 comprend 10 alors une étape 110 modifiée de détermination de la clef de chiffrement, antérieure à l'étape 115 de chiffrement. L'étape 110 est ainsi modifiée en ce que déterminer une nouvelle clef de chiffrement est réalisé en fonction de la clef de chiffrement associée à l'index de chiffrement et de l'information dite propriétaire. Ainsi, par exemple, la 5 nouvelle clef de chiffrement est ainsi déterminée : Clef(chiffrement) = Clefandex chiffrement) A Hash(P), avec Clef(chiffrement) : nouvelle clef de chiffrement déterminée lors de l'étape 110, nouvelle clef de chiffrement qui est utilisée lors des étapes ultérieures 115 et 120, Clef(Index Chiffrement) : clef de chiffrement dans la liste des clefs de 10 chiffrement associée à l'index de chiffrement déterminé lors de l'étape 105, « A » fonction « ou exclusif », Hash() : fonction de calcul d'un condensat (« hash » en anglais), P : information dite propriétaire. Idéalement, la fonction « Hash() » permet de générer un condensat à partir de 15 l'information dite propriétaire, le condensat ayant une taille identique à celle d'une clef de chiffrement. Il est alors aisé de réaliser une fonction « ou exclusif» entre la clef de chiffrement correspondant à l'index de chiffrement déterminé lors de l'étape 105 et le condensat. Toute autre fonction que la fonction « ou exclusif» peut être utilisée. Cette étape 110 modifiée permet ainsi de générer une nouvelle clef de chiffrement 20 en fonction de la clef de chiffrement associée à l'index de chiffrement et de l'information dite propriétaire. Selon ce mode de réalisation complémentaire de l'invention, suite à cette étape 110 modifiée, le serveur chiffre (étape 115) les données reçues au moyen de la nouvelle clef de chiffrement et détermine (étape 120) le code d'authentification en fonction des 25 données reçues et de la nouvelle clef de chiffrement (et non pas au moyen de la clef de chiffrement associée à l'index de chiffrement). Suite à cela, le serveur enregistre les données ainsi chiffrées en association avec l'index de chiffrement et le code d'authentification et en outre en association avec l'information dite propriétaire. Dit autrement, selon ce mode de réalisation complémentaire : 30 - une nouvelle clef de chiffrement est générée par le serveur à partir de la clef de chiffrement associée à l'index de chiffrement et d'une information dite propriétaire, et, - l'information dite propriétaire est enregistrée par le serveur en association avec les données chiffrées et le code d'authentification. 11 Ce procédé 100, selon le mode de réalisation complémentaire ou non, permet ainsi d'enregistrer des données chiffrées, la clef de chiffrement, indispensable comme décrit ci-après pour déchiffrer les données, n'étant accessible que pour une durée fonction du délai de conservation souhaité. En effet, passé ce délai, et au vu du mécanisme de mise 5 à jour de l'index courant précédemment décrit, la clef de chiffrement sera remplacée par une nouvelle clef de chiffrement et sera donc définitivement effacée. Les données, même conservées, sont alors inaccessibles. La Fig. 2 illustre schématiquement un procédé 200 d'accès à des données d'un système de gestion de données permettant un contrôle temporel des accès aux données 10 selon un mode de réalisation de l'invention. Le procédé 200 est exécuté par un serveur d'un système de gestion, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie. Le serveur est possiblement celui exécutant le procédé 100 de la Fig. 1. Un index dit courant est 15 initialement prédéterminé. Dans une première étape 201, le serveur reçoit une requête d'accès à des données enregistrées dans le système de gestion, les données étant enregistrées chiffrées et en association avec un index de chiffrement et un premier code d'authentification. Ces données chiffrées ont avantageusement précédemment été enregistrées par un serveur, 20 par exemple le serveur 401 illustré dans la Fig. 4, en suivant le procédé 100. Ces données sont retrouvées par le serveur, ainsi que l'index de chiffrement et le premier code d'authentification. Possiblement, selon le mode de réalisation de l'invention, une information dite propriétaire est aussi associée aux données chiffrées enregistrées par le serveur. La requête est typiquement envoyée par un dispositif électronique dit client. 25 Dans une étape suivante 205, le serveur retrouve, en fonction de l'index de chiffrement retrouvé lors de l'étape précédente, la clef de chiffrement de la liste de clefs de chiffrement associée à cet index de chiffrement. Dans une étape suivante 210, le serveur déchiffre les données chiffrées au moyen de la clef de chiffrement ainsi déterminée ou retrouvée. 30 Dans une étape suivante 215, le serveur détermine, en fonction des données déchiffrées (étape 210) et de la clef de chiffrement utilisée lors de l'étape 210 précédente de déchiffrement, un deuxième code d'authentification. Dans une étape suivante 220, le serveur détermine si le premier code d'authentification est égal ou non au deuxième code d'authentification. Si c'est le cas, 12 alors le serveur envoie, en réponse à la requête d'accès reçue lors de l'étape 201, les données déchiffrées au dispositif électronique client concerné. En effet, l'égalité du premier code d'authentification et du deuxième code d'authentification permet de garantir que la clef de chiffrement utilisée lors de l'étape (115, Fig. 1) de chiffrement 5 des données et la clef de chiffrement utilisée lors de l'étape (210, Fig. 2) de déchiffrement des données sont identiques. Cela signifie que la clef de chiffrement n'a pas encore été remplacée lors d'une opération de mise à jour de l'index courant et que les données sont encore valides, c'est-à-dire que la durée de validité n'a pas expirée. Dans le cas contraire, en cas d'inégalité du premier code d'authentification et du 10 deuxième code d'authentification, cela signifie que la clef de chiffrement déterminée lors de l'étape 205 n'est plus égale à celle utilisée lors de l'étape (115, Fig. 1) de chiffrement. Dans ce cas, le serveur envoie en réponse à la requête d'accès un message indiquant une indisponibilité des données. Il est à noter que les données déchiffrées, ayant été déchiffrées avec une clef de chiffrement ne correspondant pas à celle utilisée 15 lors du chiffrement, ne correspondent pas aux données initialement à enregistrer par le serveur. Ces dernières données sont devenues inaccessibles, la clef de chiffrement ayant servi à leur chiffrement n'étant elle-même plus accessible. De même que pour le procédé 100, lors du procédé 200 le serveur réalise une mise à jour périodique de l'index courant, la période de mise à jour étant égale à la durée de 20 validité d'une clef de chiffrement. La mise à jour comprend un effacement et remplacement de la clef de chiffrement associé à l'index courant par une nouvelle clef de chiffrement unique et une incrémentation circulaire de l'index courant. De façon plus générale, les étapes de mises à jour périodiques de l'index courant sont réalisées par le serveur de façon continu, indépendamment d'un besoin 25 d'enregistrement ou d'accès à des données. L'index courant est bien sur le même pour la réalisation des procédé 100 et 200. Selon un mode de réalisation complémentaire de l'invention, les données chiffrées sont enregistrées en outre en association avec une information dite propriétaire, comme vu précédemment. Le procédé 200 comprend alors une étape 205 30 modifiée antérieure à l'étape de déchiffrement. Dans cette étape 205 modifié, le serveur détermine une nouvelle clef de chiffrement en fonction de la clef de chiffrement associée à l'index de chiffrement et de l'information dite propriétaire. La nouvelle clef de chiffrement est déterminée de façon identique à la nouvelle clef de chiffrement décrite dans la Fig. 1 lors de l'étape 110 modifiée, c'est-à-dire selon le mode de 13 réalisation complémentaire de l'invention. Ainsi, la nouvelle clef de chiffrement peut être déterminée par la formule : Clef(chiffrement) = Clefandex chiffrement) A Hash(P), avec Clef(chiffrement) : nouvelle clef de chiffrement déterminée lors de l'étape 5 110, nouvelle clef de chiffrement qui est utilisée lors des étapes ultérieures 115 et 120, Clef(Index Chiffrement) : clef de chiffrement dans la liste des clefs de chiffrement associée à l'index de chiffrement déterminé lors de l'étape 105, « A » fonction « ou exclusif », 10 Hash() : fonction de calcul d'un condensat (« hash » en anglais), P : information dite propriétaire. Suite à cette étape 205 modifiée, le serveur déchiffre (étape 210) les données reçues au moyen de la nouvelle clef de chiffrement et détermine (étape 215) le deuxième code d'authentification en fonction des données déchiffrées et de la nouvelle clef de 15 chiffrement. Avantageusement, il est ainsi possible de rendre inaccessible des données enregistrées en supprimant uniquement l'information dite propriétaire associée à des données chiffrées enregistrées par le serveur. En effet, selon le mode de réalisation complémentaire, les données chiffrées sont inaccessibles sans la connaissance de 20 l'information dite propriétaire, celle-ci étant alors obligatoire pour déterminer la nouvelle clef de chiffrement. Les Figs. 3A, 3B et 3C illustrent schématiquement un exemple d'incrémentation d'un index courant sur une liste indexée de clefs de chiffrement selon un mode de réalisation de l'invention. Chaque figure 3A, 3B et 3C représente la liste indexée 25 (colonne de gauche) des clefs de chiffrement (colonne de droite), ainsi que, sur la gauche des figures, la position (ou valeur) de l'index courant (« Ind »). Dans la Fig. 3A, correspondant par exemple à un temps « tO » d'initialisation des procédés 100 et 200 par le serveur, l'index courant (« Ind ») pointe vers l'index « 1» de la liste des N clefs de chiffrements (Clef, 1, Clef, 2, ...Clef N). 30 La Fig. 3B correspond à une mise à jour de l'index courant de la Fig. 3A. La mise à jour comprend : - un remplacement (et donc effacement) de la clef de chiffrement associée à l'index courant « Ind » par une nouvelle clef de chiffrement unique, c'est-à-dire ici un 14 remplacement (et effacement) de la clef de chiffrement « clef 1» par une nouvelle clef de chiffrement « Clef N+1 », - une incrémentation circulaire de l'index courant « Ind », c'est-à-dire ici une valeur de l'index courant passant de « 1» à « 2 ». 5 La Fig. 3C correspond à une mise à jour de l'index courant « Ind », c'est-à-dire après une durée T, durée de validité d'une clef de chiffrement, partant de la Fig. 3B. Comme précédemment, la mise à jour comprend : - un remplacement (et donc effacement) de la clef de chiffrement associée à l'index courant « Ind » par une nouvelle clef de chiffrement unique, c'est-à-dire ici un 10 remplacement (et effacement) de la clef de chiffrement « clef 2 » par une nouvelle clef de chiffrement « Clef N+2 », - une incrémentation circulaire de l'index courant « Ind », c'est-à-dire ici une valeur de l'index courant passant de « 2» à « 3 ». On parle d'incrémentation « circulaire » de l'index courant puisqu'une fois que 15 l'index courant atteint la valeur maximale « N », il repasse ensuite à la première valeur de l'index de la liste de clef de chiffrement, c'est-à-dire ici « 1». Ainsi, partant d'un moment « tO », et passé un délai égal à N*T, avec N correspond à la taille de la liste indexée des clefs de chiffrement, et T la durée de validité d'une clef de chiffrement, alors, au moment « tO +N*T » toutes les clefs de chiffrements 20 de la liste existantes au moment tO auront été remplacées par de nouvelles clefs de chiffrement dans la liste des clefs de chiffrement. La Fig. 4 illustre schématiquement l'architecture d'un système 400 de gestion de données selon un mode de réalisation de l'invention. Le serveur 401 est le serveur exécutant typiquement les procédés 100 et 200 25 précédemment décrit. Le serveur 401 est adapté pour accéder à une base de données 402. Lorsque le serveur 401 enregistre ou retrouve une donnée, il faut alors comprendre que le serveur 401 accède à la base de données 402 afin d'y enregistrer ou lire ladite donnée. Selon une mode de réalisation de l'invention, le serveur 401 héberge la base de données 402. 30 Le serveur 401 est adapté pour : - recevoir un message comprenant des données à enregistrer dans le système 400 de gestion de données, ainsi qu'une information concernant un délai de conservation souhaité de ces données, 15 - déterminer, en fonction du délai de conservation souhaité, de la durée de validité d'une clef de chiffrement, d'un index courant et de la taille de la liste, un index de chiffrement, - chiffrer les données reçues au moyen de la clef de chiffrement associée à 5 l'index de chiffrement, - déterminer, en fonction des données reçues et de la clef de chiffrement utilisée pour l'étape précédente de chiffrement de ces données, un code d'authentification, et - enregistrer lesdites données chiffrées en association avec l'index de chiffrement et le code d'authentification. 10 Le serveur 401 est typiquement aussi adapté pour : - recevoir une requête d'accès à des données enregistrées dans le système de gestion, les données étant enregistrées chiffrées et en association avec un index de chiffrement et un premier code d'authentification, - retrouver, en fonction de l'index de chiffrement, la clef de chiffrement de la 15 liste de clefs de chiffrement associée à cet index de chiffrement, - déchiffrer les données chiffrées au moyen de la clef de chiffrement précédemment déterminée, - déterminer, en fonction des données déchiffrées et de la clef de chiffrement utilisée pour l'étape précédente, un deuxième code d'authentification, 20 - si le premier code d'authentification est égal au deuxième code d'authentification, alors, envoyer, en réponse à la requête d'accès, les données déchiffrées, - sinon, envoyer en réponse à la requête d'accès, un message indiquant une indisponibilité des données. 25 Le serveur 401 étant adapté pour mettre à jour périodiquement l'index courant, la période de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 30 - une incrémentation circulaire de l'index courant. Le dispositif électronique dit client 403 est un dispositif électronique pouvant envoyer des données au serveur 401, pour enregistrement de ces données par le système 400 de gestion de données. Le dispositif électronique 403 est aussi adapté pour envoyer des requêtes afin de retrouver des données enregistrées par le système 400 de gestion 16 de données. Selon un mode de réalisation, le dispositif électronique 403 est adapté pour envoyer, en association avec les données à enregistrer, une durée de conservation souhaitée pour la conservation desdites données. Selon un mode de réalisation alternatif, le serveur 401 utilise une durée de conservation souhaitée des données reçues 5 prédéfinie. Possiblement, la durée de conservation des données à enregistrer dépend du type des données à enregistrer. Alternativement, le serveur 401 peut interagir avec un autre système ou base de données afin de récupérer une durée de conservation souhaitée pour des données reçues. Selon un mode de réalisation, le serveur 401, ainsi que la base de données 402, 10 sont gérés par un premier utilisateur. Le client 403 correspond à un deuxième utilisateur. Une pluralité de clients 403, correspondant possiblement à des utilisateurs différents peuvent coexister. L'information dite propriétaire P, associée à des données à enregistrer par un client 403, peut correspondre à un identifiant associé à l'utilisateur du client 403. Par exemple, l'information propriétaire P correspond au nom du client. Il est ainsi 15 possible de rendre inaccessible toutes les données enregistrées par le système 400 de gestion en supprimant (ou en mettant à zéro, en remplaçant par une valeur par défaut, etc.), pour toutes les données enregistrées dans la base de données 402, l'information dite propriétaire P associée aux données chiffrées enregistrées. Ainsi, la clef de chiffrement permettant de déchiffrer les données associées à ce client ne peut plus être 20 déterminée, les données sont donc inaccessibles. Ce système de gestion 400 peut avantageusement être utilisé par un fournisseur d'équipements afin de sauvegarder des informations de configuration de ces équipements. Ces équipements sont par exemple des équipements de type compteurs communicants (« smart meter » en anglais), fournis à un client. Le système de gestion 25 400 permet de garantir que les informations de configuration, c.-à-d. les données enregistrées par le serveur 401 dans la base de données 402, sont bien accessibles au client pendant un temps prédéterminé, et que ces données deviennent bien inaccessibles, pour tout le monde, passé ce délai. Dit autrement, si les données chiffrées sont bien enregistrées par le système 400 de gestion, et possiblement sauvegardées, il n'est plus 30 possible de les déchiffrer passé le délai de conservation souhaité. La Fig. 5 illustre schématiquement l'architecture matérielle d'un serveur 500 d'un système de gestion de données selon un mode de réalisation de l'invention. Le serveur 500 est par exemple le serveur 401 de la Fig. 4. Le serveur 500 est adapté pour exécuter les procédés illustrés dans les Fig. 1 et Fig. 2. 17 Ainsi, le serveur 500 comprend, reliés par un bus de communication : un processeur ou CPU (« Central Processing Unit » en anglais) 501 ; une mémoire MEM 502 de type RAM (« Random Access Memory » en anglais) et/ou ROM (« Read Only Memory » en anglais), un module réseau NET 503, un module de stockage STCK 504 5 de type stockage interne et possiblement une pluralité de modules 505 à 50N. Le module de stockage STCK 504 peut être de type disque dur HDD (« Hard Disk Drive » en anglais) ou SSD (« Solid-State Drive » en anglais), ou de type lecteur de support de stockage externe, tel un lecteur de cartes SD (« Secure Digital » en anglais). Le processeur CPU 501 peut enregistrer des données, ou informations, dans la mémoire 10 MEM 502 ou dans le module de stockage STCK 504. Le processeur CPU 501 peut lire des données enregistrées dans la mémoire MEM 502 ou dans le module de stockage STCK 504. Le processeur CPU 501 peut enregistrer des données, ou informations, dans une base de données telle que la base de données 402 de la Fig. 4, possiblement via le module réseau NET 503. Le processeur CPU 501 peut lire des données, ou informations, 15 dans une base de données telle que la base de données 402 de la Fig. 4, possiblement via le module réseau NET 50. Ces données peuvent correspondre à des paramètres de configuration, des instructions ou des données reçues dans des messages envoyés par d'autres dispositifs électroniques, par exemple des dispositifs électroniques dits clients. Le module réseau NET 503 permet la connexion du serveur 500 à un réseau local et/ou 20 Internet. Chaque module 505 à 50N peut comporter des fonctionnalités telles que des fonctionnalités matérielles de chiffrement et/ ou de déchiffrement, de calcul de condensat ou autre module spécialisé. Un module 505 ou 50N peut être un élément dit sécurisé (SE ou « Secured Element » en anglais) permettant par exemple une exécution sécurisée de tout ou partie des étapes des procédés 100 et 200 illustrés dans les Fig. 1 et 25 2. Le processeur CPU 501 est capable d'exécuter des instructions chargées dans la mémoire MEM 502, par exemple à partir du module de stockage STCK 504 ou via le module réseau NET 503. Lorsque le serveur 500 est mis sous tension, le processeur CPU 501 est capable de lire de la mémoire MEM 502 des instructions et de les exécuter. 30 Ces instructions forment un programme d'ordinateur causant la mise en oeuvre, par le processeur CPU 501, de tout ou partie des procédés et étapes décrits précédemment, particulièrement les procédés décrits dans la Fig. 1 et dans la Fig. 2. Ainsi, tout ou partie des procédés et étapes décrits ci-avant peut être implémenté sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, tel qu'un DSP 18 («Digital Signal Processor » en anglais) ou un microcontrôleur. Tout ou partie des procédés et étapes décrits ici peuvent aussi être implémentés sous forme matérielle par une machine ou un composant dédié, tel qu'un FPGA (« Field-Programmable Gate Array » en anglais) ou un ASIC (« REVENDICATIONS1) Procédé (100) d'enregistrement de données pour un contrôle temporel d'un accès à des données d'un système (400) de gestion de données comprenant un serveur (401, 500), le procédé étant exécuté par le serveur, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie, un index dit courant étant initialement prédéterminé, le procédé comprenant les étapes suivantes : - recevoir (101) un message comprenant des données à enregistrer dans le système de gestion de données, ainsi qu'une information concernant un délai de conservation souhaité de ces données, - déterminer (105), en fonction du délai de conservation souhaité, de la durée de validité d'une clef de chiffrement, de l'index courant et de la taille de la liste, un index de chiffrement, - chiffrer (115) les données reçues au moyen de la clef de chiffrement associée à l'index de chiffrement, - déterminer (120), en fonction des données reçues et de la clef de chiffrement utilisée pour l'étape précédente de chiffrement de ces données, un code d'authentification, et - enregistrer (125) lesdites données chiffrées en association avec l'index de chiffrement et le code d'authentification, l'index courant étant mis à jour périodiquement, la période (T) de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, - une incrémentation circulaire de l'index courant. 2) Procédé selon la revendication précédente, le message comprenant les données à enregistrer comprenant de plus une information dite propriétaire, le procédé comprenant une étape antérieure à l'étape de chiffrement : - déterminer (110) une nouvelle clef de chiffrement en fonction de la clef de chiffrement associée à l'index de chiffrement et de l'information dite propriétaire, et : 20 - chiffrer (115) les données reçues se faisant au moyen de la nouvelle clef de chiffrement, - déterminer (120) le code d'authentification se faisant en fonction des données reçues et de la nouvelle clef de chiffrement, et 5 - enregistrer (125) les données chiffrées en association avec l'index de chiffrement et le code d'authentification se faisant en outre en association avec l'information dite propriétaire. 3) Procédé (200) d'accès à des données d'un système (400) de gestion de données 10 permettant un contrôle temporel des accès aux données, le système de gestion comprenant un serveur (401, 500), le procédé étant exécuté par le serveur, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie, un index dit courant étant initialement prédéterminé, le procédé 15 comprenant les étapes suivantes : - recevoir (201) une requête d'accès à des données enregistrées dans le système de gestion, les données étant enregistrées chiffrées et en association avec un index de chiffrement et un premier code d'authentification, - retrouver (205), en fonction de l'index de chiffrement, la clef de chiffrement 20 de la liste de clefs de chiffrement associée à cet index de chiffrement, - déchiffrer (210) les données chiffrées au moyen de la clef de chiffrement précédemment déterminée, déterminer (215), en fonction des données déchiffrées et de la clef de chiffrement utilisée pour l'étape précédente, un deuxième code 25 d'authentification, si le premier code d'authentification est égal au deuxième code d'authentification, alors, envoyer (225), en réponse à la requête d'accès, les données déchiffrées, sinon, envoyer (230) en réponse à la requête d'accès, un message indiquant 30 une indisponibilité des données, l'index courant étant mis à jour périodiquement, la période (T) de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 21 - une incrémentation circulaire de l'index courant. 4) Procédé selon la revendication précédente, les données étant enregistrées en outre en association avec une information dite propriétaire, le procédé comprenant une 5 étape antérieure à l'étape de déchiffrement : - déterminer (205) une nouvelle clef de chiffrement en fonction de la clef de chiffrement associée à l'index de chiffrement et de l'information dite propriétaire, et : - déchiffrer (210) les données reçues se faisant au moyen de la nouvelle clef de 10 chiffrement, - déterminer (215) le deuxième code d'authentification se faisant en fonction des données déchiffrées et de la nouvelle clef de chiffrement. 5) Serveur (401, 500) d'un système (400) de gestion de données permettant un 15 contrôle temporel des accès aux données, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie, un index dit courant étant initialement prédéterminé, le serveur étant adapté pour exécuter les étapes suivantes : 20 - recevoir (101) un message comprenant des données à enregistrer dans le système de gestion de données, ainsi qu'une information concernant un délai de conservation souhaité de ces données, - déterminer (105), en fonction du délai de conservation souhaité, de la durée de validité d'une clef de chiffrement, d'un index courant et de la taille de la 25 liste, un index de chiffrement, - chiffrer (115) les données reçues au moyen de la clef de chiffrement associée à l'index de chiffrement, - déterminer (120), en fonction des données reçues et de la clef de chiffrement utilisée pour l'étape précédente de chiffrement de ces données, un code 30 d'authentification, et - enregistrer (125) lesdites données chiffrées en association avec l'index de chiffrement et le code d'authentification, l'index courant étant mis à jour périodiquement, la période (T) de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : 22 - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, - une incrémentation circulaire de l'index courant. 5 6) Serveur (401, 500) d'un système (400) de gestion de données permettant un contrôle temporel des accès aux données, le serveur comprenant une liste indexée de clefs de chiffrement, chaque index étant associé à une clef de chiffrement unique, chaque clef de chiffrement étant associée à une même durée de validité prédéfinie, un index dit courant étant initialement prédéterminé, le serveur étant adapté pour exécuter 10 les étapes suivantes : - recevoir (201) une requête d'accès à des données enregistrées dans le système de gestion, les données étant enregistrées chiffrées et en association avec un index de chiffrement et un premier code d'authentification, - retrouver (205), en fonction de l'index de chiffrement, la clef de chiffrement 15 de la liste de clefs de chiffrement associée à cet index de chiffrement, - déchiffrer (210) les données chiffrées au moyen de la clef de chiffrement précédemment déterminée, - déterminer (215), en fonction des données déchiffrées et de la clef de chiffrement utilisée pour l'étape précédente, un deuxième code 20 d'authentification, - si le premier code d'authentification est égal au deuxième code d'authentification, alors, envoyer (225), en réponse à la requête d'accès, les données déchiffrées, - sinon, envoyer (230) en réponse à la requête d'accès, un message indiquant 25 une indisponibilité des données, l'index courant étant mis à jour périodiquement, la période (T) de mise à jour étant égale à la durée de validité d'une clef de chiffrement, la mise à jour comprenant : - un effacement et remplacement de la clef de chiffrement associée à l'index courant par une nouvelle clef de chiffrement unique, 30 - une incrémentation circulaire de l'index courant. 7) Système (400) de gestion de données permettant un contrôle temporel des accès aux données, le système de gestion comprenant : - un serveur (401, 500) selon les revendications 5 et/ou 6, 23 - au moins un dispositif électronique (403) dit client permettant d'envoyer des données à enregistrer vers ledit serveur, les données étant associées à un délai de conservation souhaité, et/ou, - au moins un dispositif électronique (403) dit client permettant d'envoyer une 5 requête d'accès à des données enregistrées dans le système de gestion. 8) Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour mettre en oeuvre, par un processeur d'un serveur (401, 500) d'un système (400) de gestion de données, un procédé (100) d'enregistrement de données pour un contrôle 10 temporel d'un accès aux données du système de gestion de données selon l'une des revendications 1 à 2, lorsque le programme d'ordinateur est exécuté par le processeur. 9) Support d'enregistrement, lisible par un serveur (401, 500) d'un système (400) de gestion de données, sur lequel est stocké le programme d'ordinateur selon la 15 revendication précédente. 10) Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour mettre en oeuvre, par un processeur d'un serveur (401, 500) d'un système (400) de gestion de données, un procédé (200) d'accès, avec contrôle temporel, à des données du 20 système de gestion de données selon l'une des revendications 3 à 4, lorsque le programme d'ordinateur est exécuté par le processeur. 11) Support d'enregistrement, lisible par un serveur (401, 500) d'un système (400) de gestion de données, sur lequel est stocké le programme d'ordinateur selon la 25 revendication précédente.