FR3145627A1 - Process for managing data affected by conflicting retention and updating obligations - Google Patents

Process for managing data affected by conflicting retention and updating obligations Download PDF

Info

Publication number
FR3145627A1
FR3145627A1 FR2301077A FR2301077A FR3145627A1 FR 3145627 A1 FR3145627 A1 FR 3145627A1 FR 2301077 A FR2301077 A FR 2301077A FR 2301077 A FR2301077 A FR 2301077A FR 3145627 A1 FR3145627 A1 FR 3145627A1
Authority
FR
France
Prior art keywords
archive
ffw
data
unitary
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2301077A
Other languages
French (fr)
Inventor
Thierry JULIEN
Original Assignee
Tjc
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 Tjc filed Critical Tjc
Priority to FR2301077A priority Critical patent/FR3145627A1/en
Publication of FR3145627A1 publication Critical patent/FR3145627A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L’invention concerne un procédé de gestion de données (10) mis en œuvre par un système informatique 1. Un tel procédé 10 comprend un traitement d’importation (100) desdites données stockées dans une ou plusieurs archives unitaires (FFi) pour créer des conteneurs de données (Tw) et des tables associatives (CTw) ainsi que des archives unitaires (FFw) de travail. Ledit procédé (10) comporte un traitement (200) de chiffrement desdites archives unitaires de travail (FFw) préalablement à toute première mise à jour des données. Il comporte en outre un traitement (300) de toute consigne en mise à jour desdites données agencé de sorte à gérer des données concernées par des obligations de conservation et de mise à jour. Un tel procédé de gestion de données (10) peut comporter également un traitement (400) d’exportation desdites données gérées. Figure à publier avec l’abrégé : Fig 1The invention relates to a data management method (10) implemented by a computer system 1. Such a method 10 comprises a processing operation (100) for importing said data stored in one or more unit archives (FFi) to create data containers (Tw) and associative tables (CTw) as well as unit archives (FFw) for work. Said method (10) comprises a processing operation (200) for encrypting said unit archives for work (FFw) prior to any first update of the data. It further comprises a processing operation (300) for any instruction for updating said data arranged so as to manage data concerned by retention and update obligations. Such a data management method (10) may also comprise a processing operation (400) for exporting said managed data. Figure to be published with the abstract: Fig 1

Description

Procédé de gestion de données concernées par des obligations contradictoires de conservation et de mise à jourProcess for managing data affected by conflicting retention and updating obligations

L’invention concerne un procédé de gestion, c’est-à-dire d’importation, de mise à jour, voire d’exportation, de données concernées par des obligations contradictoires, d’une part, de conservation et, d’autre part, de mise à jour ou de suppression. A titre d’exemple préféré, de telles données peuvent comporter des données personnelles importées, créées, modifiées ou supprimées, voire exportées par un logiciel de gestion de données, également connu sous l’appellation anglo-saxonne d’ERP pour «Enterprise Resource Planning».The invention relates to a method for managing, i.e. importing, updating or even exporting, data concerned by contradictory obligations, on the one hand, of conservation and, on the other hand, of updating or deletion. As a preferred example, such data may include personal data imported, created, modified or deleted, or even exported by data management software, also known by the English name of ERP for " Enterprise Resource Planning ".

De telles données sont exploitées notamment en Entreprise dans le cadre d’applications informatiques multiples, telles que la comptabilité, la gestion des ressources humaines, la vente, la production, etc. Ces applications informatiques sont soumises à des obligations d’audit par des organismes divers (états, organisations internationales, organismes dédiés) en application de codes des impôts, de règlements de police, etc. De tels audits imposent une conservation de données et de documents pendant des périodes définies.Such data is used in particular in Businesses in the context of multiple IT applications, such as accounting, human resources management, sales, production, etc. These IT applications are subject to audit obligations by various bodies (states, international organizations, dedicated bodies) in application of tax codes, police regulations, etc. Such audits require the retention of data and documents for defined periods.

Ainsi, selon la législation française, des pièces comptables ( ou données) doivent être conservées durant un minimum de trois années à partir de la clôture de l’exercice comptable concerné. Des documents fiscaux nécessitent une conservation de six ans ou encore les contrats commerciaux et autres correspondances associées doivent être conservés durant cinq ans à compter de leurs conclusions respectives. De la même manière, les bulletins de salaires de tout collaborateur, y compris sous leurs formes numériques, doivent être conservés durant cinq années suivant leurs émissions. Nous pouvons également mentionner que tout document en lien avec un titre de propriété intellectuelle, tel qu’un brevet d’invention, doit être conservé durant cinq années à partir de l’extinction dudit titre.Thus, according to French law, accounting documents (or data) must be kept for a minimum of three years from the end of the accounting year concerned. Tax documents require a six-year retention period, or commercial contracts and other associated correspondence must be kept for five years from their respective conclusions. Similarly, the pay slips of any employee, including in their digital forms, must be kept for five years following their issuance. We can also mention that any document relating to an intellectual property title, such as a patent, must be kept for five years from the extinction of said title.

De façon alternative, un archivage fiscal sert à conserver de façon pérenne l'ensemble des informations, données et traitements informatiques. Il permet de répondre aux requêtes qu’une administration fiscale peut exercer dans le cadre ou en dehors d'un contrôle fiscal. Une archive fiscale est définie dans le présent document comme le résultat d'un processus qui permet de garantir qu’un contenu d’une telle archive est identique aux informations initiales. L’intégrité des archives produites dans le temps doit être garantie, c’est-à-dire depuis leurs créations jusqu’à leurs éventuelles suppressions. Une archive fiscale doit en outre être exploitable, c’est-à-dire lisible, y compris lorsque l’application logicielle qui l’a produite n'est plus disponible. L'utilisation d'un format dit « ouvert » est donc généralement recommandé. Une archive fiscale se présente donc généralement sous la forme d’un fichier texte ou plat, voire sous la forme d’un document électronique ou d’une image.Alternatively, a tax archive is used to permanently store all information, data and computer processing. It can respond to requests that a tax administration may make within the framework of or outside of a tax audit. A tax archive is defined in this document as the result of a process that guarantees that the content of such an archive is identical to the initial information. The integrity of the archives produced over time must be guaranteed, i.e. from their creation to their possible deletion. A tax archive must also be usable, i.e. readable, including when the software application that produced it is no longer available. The use of a so-called "open" format is therefore generally recommended. A tax archive is therefore generally presented in the form of a text or flat file, or even in the form of an electronic document or an image.

Les archives potentiellement soumises à des contrôles ou audits réalisés à l’initiative coercitive de tiers, tels que le fisc ou les douanes, sont appelées « archives externes ». Les archives qui n’ont qu’une utilité informationnelle sont nommées « archives internes ». Par abus de langage, nous nommerons archives fiscales de telles archives externes. Les archives internes se doivent de respecter les obligations de protection de données personnelles.Archives that are potentially subject to controls or audits carried out at the coercive initiative of third parties, such as the tax authorities or customs, are called “external archives”. Archives that are only useful for information purposes are called “internal archives”. By abuse of language, we will call such external archives tax archives. Internal archives must comply with personal data protection obligations.

Dans le même temps, de multiples lois et règlements imposent aux entreprises une destruction, une anonymisation ou une pseudoanonymisation de données personnelles. C’est par exemple le cas du Règlement Général sur la Protection des Données, également connu sous l’acronyme RGPD (ou GPDR pour «General Data Protection Regulation »selon une terminologie anglo-saxonne), qui contraint chaque détenteur de telles données à ne conserver celles-ci qu’en présence de consentements explicites des personnes ressortissantes de l’Union Européenne concernées par lesdites données, pour des durées limitées et déterminées ou encore si et seulement si une finalité ou un objectif l’exige.At the same time, multiple laws and regulations require companies to destroy, anonymize or pseudo-anonymize personal data. This is the case, for example, of the General Data Protection Regulation, also known by the acronym GDPR (or GPDR for " General Data Protection Regulation " in Anglo-Saxon terminology), which requires each holder of such data to only keep it in the presence of explicit consent from the persons nationals of the European Union concerned by said data, for limited and determined periods or if and only if a purpose or objective requires it.

Les entreprises sont donc soumises à des obligations contradictoires (obligation de conservation, obligation de suppression) dans leurs applications de gestion et également dans leurs archives.Companies are therefore subject to contradictory obligations (obligation to retain, obligation to delete) in their management applications and also in their archives.

Par ailleurs, les applications informatiques sont mises en œuvre par des ordinateurs personnels, ou plus largement par tous dispositifs électroniques adaptés (téléphones mobiles intelligents, tablettes tactiles, etc.), par des serveurs informatiques distants et coopérant avec des stations locales ou des ordinateurs personnels au travers de réseaux informatiques de communication filaire ou sans fil ou encore par des solutions à base d’informatique dite « sans serveur » ou «serverless», selon une terminologie anglo-saxonne, de conteneurs ou d’autres technologies adaptées. D’un point de vue technique, un tel système informatique mettant en œuvre une application de gestion de données s’apparente à un ordinateur comportant une unité de traitement consistant en un ou plusieurs microprocesseurs ou microcontrôleurs mettant en œuvre des instructions de programmes d’un système d’exploitation de ressources matérielles (mémoires de données ou de programmes, périphériques, etc.) et des applications logicielles hébergées, telles qu’un ERP. Lesdites instructions de programme sont chargées dans une ou plusieurs mémoires dudit système informatique en communication avec ladite unité de traitement. On entend par « mémoire ou moyen de mémorisation » toute mémoire informatique que celle-ci soit volatile ou non. Une mémoire non volatile est une mémoire informatique dont la technologie permet de conserver ses données en l’absence d’une alimentation en énergie électrique. Elle peut contenir des données résultant de saisies, de calculs, de mesures et/ou des instructions de programmes. Les principales mémoires non volatiles actuellement disponibles sont de type inscriptible électriquement, telles que l’EPROM («Erasable Programmable Read-Only Memory», selon une terminologie anglo-saxonne) ou encore inscriptibles et effaçables électriquement, telle que l’EEPROM («Electrically-Erasable Programmable Read-Only Memory»), flash, SSD («Solid-State Drive», selon une terminologie anglo-saxonne), etc. Les mémoires non volatiles se distinguent des mémoires dites « volatiles » dont les données sont perdues en l’absence d’une alimentation électrique. Les principales mémoires volatiles actuellement disponibles sont de type RAM («Random Access Memory» selon une terminologie anglo-saxonne ou encore nommée « mémoire vive »), DRAM (mémoire vive dynamique, nécessitant une réactualisation régulière), SRAM (mémoire vive statique nécessitant une telle réactualisation lors d’une sous-alimentation électrique), DPRAM, VRAM, etc.Furthermore, computer applications are implemented by personal computers, or more broadly by any suitable electronic devices (smart mobile phones, touch tablets, etc.), by remote computer servers cooperating with local stations or personal computers via wired or wireless computer communication networks or by solutions based on so-called " serverless " computing, containers or other suitable technologies. From a technical point of view, such a computer system implementing a data management application is similar to a computer comprising a processing unit consisting of one or more microprocessors or microcontrollers implementing program instructions of an operating system of hardware resources (data or program memories, peripherals, etc.) and hosted software applications, such as an ERP. Said program instructions are loaded into one or more memories of said computer system in communication with said processing unit. "Memory or storage means" means any computer memory, whether volatile or not. A non-volatile memory is a computer memory whose technology allows its data to be retained in the absence of an electrical power supply. It can contain data resulting from inputs, calculations, measurements and/or program instructions. The main non-volatile memories currently available are electrically writable, such as EPROM (" Erasable Programmable Read-Only Memory ") or electrically writable and erasable, such as EEPROM (" Electrically-Erasable Programmable Read-Only Memory "), flash, SSD (" Solid-State Drive "), etc. Non-volatile memories are distinguished from so-called "volatile" memories, the data of which is lost in the absence of an electrical power supply. The main volatile memories currently available are RAM ( Random Access Memory ), DRAM (dynamic random access memory, requiring regular updating), SRAM (static random access memory requiring such updating during a power shortage), DPRAM, VRAM, etc.

L’obligation de conservation des données d’une entreprise est également confrontée à l’obsolescence des logiciels d’ERP. Se pose ainsi régulièrement la question pour une entreprises de devoir arrêter des versions devenues obsolètes de logiciels de gestion de données au profit d’une nouvelle version ou d’un nouveau système. Or, un tel processus de décommissionnement (ou «decommissioning» selon une terminologie anglo-saxonne) d’une application obsolète et de mise en œuvre d’une migration desdites données et autres documents apparaît complexe et coûteux. Pour cette raison, des systèmes dits « systèmes hérités » demeurent trop souvent exploités, alors même que des solutions plus modernes et efficaces sont disponibles, par crainte des risques et des coûts qu’engendrerait une telle migration des données vers un nouveau système de gestion.A company's data retention obligation is also confronted with the obsolescence of ERP software. The question regularly arises for a company of having to stop obsolete versions of data management software in favor of a new version or a new system. However, such a process of decommissioning an obsolete application and implementing a migration of said data and other documents appears complex and costly. For this reason, so-called "legacy systems" are too often still used, even when more modern and efficient solutions are available, for fear of the risks and costs that such a migration of data to a new management system would generate.

Il n’existe pas à cette heure de solution satisfaisante pour répondre à ces besoins souvent contradictoires. En effet, les obligations de conservation priment dans de nombreux pays au détriment des contraintes liées à la protection des données personnelles. De ce fait, les acteurs proposant des solutions pour satisfaire au Règlement Général sur la Protection des Données excluent le volet « conservation ». La réciproque est également et généralement vraie. Une solution de stockage « non modifiable » garantissant la non-destruction des informations pour une durée prédéfinie, contrevient aux obligations évolutives de destruction de données.There is currently no satisfactory solution to meet these often contradictory needs. Indeed, retention obligations take precedence in many countries to the detriment of constraints related to the protection of personal data. As a result, the players offering solutions to comply with the General Data Protection Regulation exclude the “retention” component. The reverse is also generally true. A “non-modifiable” storage solution guaranteeing the non-destruction of information for a predefined period contravenes the evolving obligations of data destruction.

Généralement, les obligations de conservation, par exemple les obligations fiscales, priment sur les obligations de destructions, par application du RGPD par exemple. Nous pourrions donc considérer qu’il suffit de conserver les archives fiscales pendant la durée légale, puis de les supprimer afin de respecter l’ensemble des obligations. En pratique, pour des applications logicielles couvrant un spectre multiple d’entités de contrôles (par exemple les applications multi-sociétés et multi-pays), multiplier les archives fiscales devient extrêmement complexe et identifier les règles de conservation quasi impossible. Le besoin existe de pouvoir constituer une archive qui soit à la fois une archive fiscale et une archive interne.Generally, retention obligations, such as tax obligations, take precedence over destruction obligations, for example by application of the GDPR. We could therefore consider that it is sufficient to keep tax archives for the legal duration, then delete them in order to comply with all the obligations. In practice, for software applications covering a multiple spectrum of control entities (for example multi-company and multi-country applications), multiplying tax archives becomes extremely complex and identifying retention rules almost impossible. There is a need to be able to create an archive that is both a tax archive and an internal archive.

La présente invention a donc pour objet de proposer un procédé de gestion de données concernées par des obligations contradictoires de conservation et de mise à jour (y compris la suppression) pour être préférentiellement mis en œuvre dans le cadre d’une application logicielle dite « LSA », acronyme anglo-saxon de «Legacy System Application», c’est-à-dire une application permettant de gérer les données d’un « système hérité » également connu sous l’expression anglo-saxonne «legacy syst e m».The present invention therefore aims to propose a method for managing data concerned by contradictory obligations of conservation and updating (including deletion) to be preferably implemented within the framework of a software application called "LSA", an acronym for " Legacy System Application ", i.e. an application making it possible to manage the data of a "legacy system" also known by the Anglo-Saxon expression " legacy syst e m ".

L’invention répond aux inconvénients soulevés par l’état de la technique en permettant notamment de constituer une archive, par exemple une archive fiscale, d’en garantir son statut d’archive fiscale, tout en satisfaisant aux règles de protection, voire de destruction, des données personnelles.The invention addresses the drawbacks raised by the state of the art by making it possible in particular to create an archive, for example a tax archive, to guarantee its status as a tax archive, while satisfying the rules of protection, or even destruction, of personal data.

Parmi les nombreux avantages procurés par l’invention, nous pouvons mentionner plus particulièrement que l’invention permet de :

  • simplifier et permettre une migration (c’est-à-dire un processus de décommissionnement ou «decommissioning» selon une terminologie anglo-saxonne) des données et de documents depuis une application de gestion de données et/ou de documents obsolète vers une nouvelle application et ainsi répondre à la problématique des systèmes dit « systèmes hérités » qui demeurent trop souvent en ligne, alors même que des solutions plus modernes et efficaces sont disponibles ;
  • répondre aux besoins contradictoires de conservation et de mise à jour de données personnelles ;
  • prévenir toute duplication de données (par exemple en multipliant les archives fiscales par pays) selon leurs fonction et utilisation et ainsi réduire les coûts des infrastructures assurant une telle gestion de données, en termes d’interopérabilité, de volumes de stockage, d’émission de CO2, etc. ;
  • constituer des archives permettant de répondre aux attentes d’un contrôle externe, comme émanant du fisc par exemple ;
  • conserver des archives pour les informations possiblement pertinentes qui ne le sont pas suffisamment pour être intégrées au système cible.
Among the many advantages provided by the invention, we can mention more particularly that the invention makes it possible to:
  • simplify and enable migration (i.e. a decommissioning process) of data and documents from an obsolete data and/or document management application to a new application and thus address the problem of so-called “legacy systems” which too often remain online, even though more modern and efficient solutions are available;
  • meet the conflicting needs of retaining and updating personal data;
  • prevent any duplication of data (for example by multiplying tax archives by country) according to their function and use and thus reduce the costs of the infrastructures ensuring such data management, in terms of interoperability, storage volumes, CO2 emissions, etc.;
  • create archives to meet the expectations of an external audit, such as from the tax authorities for example;
  • maintain archives for potentially relevant information that is not relevant enough to be integrated into the target system.

A cette fin, l’invention prévoit un procédé de gestion de données conçu pour être mis en œuvre par une unité de traitement d’un système informatique comportant également une première mémoire de données accessible en lecture et en écriture par ladite unité de traitement. Pour répondre aux inconvénients soulevés par l’état de la technique, un tel procédé de gestion de données est agencé de sorte que :

  • lesdites données sont stockées en clair dans une première archive unitaire au sein de la première mémoire de données dudit système informatique, ladite première archive unitaire comportant une ou plusieurs archives élémentaires comprenant chacune un ou plusieurs champs ;
  • ledit procédé comporte :
    • une étape de création, dans ladite première mémoire de données, d’un conteneur de données dont les enregistrements décrivent respectivement les archives élémentaires de ladite première archive unitaire et pour lesquels un attribut d’enregistrement correspond à un champ d’archive élémentaire, chaque enregistrement dudit conteneur de données comportant en outre un attribut supplémentaire dont la valeur consiste en une clé unique désignant l’information contenue dans un enregistrement dudit conteneur de données ;
    • une étape de création, dans ladite première mémoire de données, d’un conteneur associatif comportant un enregistrement associé à chaque enregistrement du conteneur de données, chaque enregistrement dudit conteneur associatif comportant un attribut pour contenir la clé unique désignant l’enregistrement du conteneur de données qui lui est ainsi associé, des attributs pour respectivement désigner la première archive unitaire et l’archive élémentaire de cette dernière à partir desquels l’enregistrement du conteneur de données a été initialisé ;
    • une étape :
      • de création, dans la première mémoire de données :
        • d’autant de clés de chiffrement/déchiffrement qu’il existe d’enregistrements dans le conteneur de données ;
        • d’une deuxième archive unitaire à partir de la première archive unitaire et desdites clés de chiffrement/déchiffrement de sorte que chaque champ d’une même archive élémentaire de ladite deuxième archive unitaire résulte d’une opération de chiffrement du champ correspondant de la même archive élémentaire de ladite première archive unitaire par l’une desdites clés de chiffrement/déchiffrement ;
      • de mise à jour d’un attribut dans l’enregistrement du conteneur associatif associé à l’enregistrement du conteneur de données de sorte que ledit attribut désigne la clé de chiffrement/déchiffrement utilisée pour chiffrer les champs de l’archive élémentaire de ladite première archive unitaire ;
    • une étape de suppression de la première archive unitaire dans la première mémoire de données.
To this end, the invention provides a data management method designed to be implemented by a processing unit of a computer system also comprising a first data memory accessible in reading and writing by said processing unit. To address the drawbacks raised by the state of the art, such a data management method is arranged so that:
  • said data is stored in clear text in a first unitary archive within the first data memory of said computer system, said first unitary archive comprising one or more elementary archives each comprising one or more fields;
  • said method comprises:
    • a step of creating, in said first data memory, a data container whose records respectively describe the elementary archives of said first unitary archive and for which a record attribute corresponds to an elementary archive field, each record of said data container further comprising an additional attribute whose value consists of a unique key designating the information contained in a record of said data container;
    • a step of creating, in said first data memory, an associative container comprising a record associated with each record of the data container, each record of said associative container comprising an attribute for containing the unique key designating the record of the data container which is thus associated with it, attributes for respectively designating the first unit archive and the elementary archive of the latter from which the record of the data container was initialized;
    • one step:
      • of creation, in the first data memory:
        • as many encryption/decryption keys as there are records in the data container;
        • of a second unitary archive from the first unitary archive and said encryption/decryption keys such that each field of the same elementary archive of said second unitary archive results from an encryption operation of the corresponding field of the same elementary archive of said first unitary archive by one of said encryption/decryption keys;
      • updating an attribute in the associative container record associated with the data container record such that said attribute designates the encryption/decryption key used to encrypt the fields of the elementary archive of said first unitary archive;
    • a step of deleting the first unit archive in the first data memory.

Pour initialiser la mise en œuvre d’un tel procédé, par exemple à la suite d’un processus de décommissionnement d’une application tierce, les données gérées peuvent être initialement stockées en clair dans une archive unitaire tierce, dite « archive unitaire d’entrée » au sein d'une deuxième mémoire de données dudit système informatique, ladite archive unitaire tierce comportant une ou plusieurs archives élémentaires comprenant chacune un ou plusieurs attributs. Dans ce cas, un procédé selon l’invention peut comporter une première étape de lecture de l’archive unitaire d’entrée dans la deuxième mémoire de données et de création dans la première mémoire de données de la première archive unitaire à partir de ladite archive unitaire d’entrée de sorte que lesdites première archive unitaire et l’archive unitaire d’entrée soient identiques.To initialize the implementation of such a method, for example following a decommissioning process of a third-party application, the managed data may be initially stored in clear text in a third-party unit archive, called an “input unit archive” within a second data memory of said computer system, said third-party unit archive comprising one or more elementary archives each comprising one or more attributes. In this case, a method according to the invention may comprise a first step of reading the input unit archive in the second data memory and creating in the first data memory the first unit archive from said input unit archive so that said first unit archive and the input unit archive are identical.

Lorsqu’un procédé de gestion de données selon l’invention comporte un traitement de mise à jour consistant en une suppression d’un enregistrement du conteneur de données décrivant une archive élémentaire, ledit traitement peut comporter une étape d’effacement de l’attribut désignant la clé de chiffrement/déchiffrement dans l’enregistrement du conteneur associatif correspondant audit enregistrement du conteneur de données.When a data management method according to the invention comprises an update processing consisting of a deletion of a record of the data container describing an elementary archive, said processing may comprise a step of erasing the attribute designating the encryption/decryption key in the record of the associative container corresponding to said record of the data container.

En variante, lorsqu’un procédé de gestion de données selon l’invention comporte un traitement de mise à jour consistant en une modification d’un attribut d’un enregistrement du conteneur de données décrivant une archive élémentaire, ledit traitement peut comporter :

  • une étape de mise à jour dudit attribut dans le conteneur de données ;
  • une étape de création d’une clé de chiffrement/déchiffrement et d’une troisième archive unitaire dont une archive élémentaire correspond à l’enregistrement du conteneur de données dont l’attribut a été modifié et pour laquelle chaque champ d’archive élémentaire correspond à chaque attribut dudit enregistrement chiffré par la clé de chiffrement/déchiffrement préalablement créée ;
  • une étape :
    • d’effacement de l’attribut désignant la clé de chiffrement/déchiffrement dans l’enregistrement du conteneur associatif correspondant à l’enregistrement mis à jour du conteneur de données ;
    • de création, dans ledit conteneur associatif, d’un nouvel enregistrement associé à l’enregistrement mis à jour dans le conteneur de données, le nouvel enregistrement dudit conteneur associatif comportant :
      • un attribut pour contenir la clé unique désignant ledit enregistrement du conteneur de données qui a été mis à jour ;
      • des attributs pour respectivement désigner la troisième archive unitaire et l’archive élémentaire de cette dernière qui vient d’être initialisée ;
      • un attribut désignant la clé de chiffrement/déchiffrement utilisée pour chiffrer les champs de l’archive élémentaire de ladite troisième archive.
Alternatively, when a data management method according to the invention comprises an update processing consisting of a modification of an attribute of a record of the data container describing an elementary archive, said processing may comprise:
  • a step of updating said attribute in the data container;
  • a step of creating an encryption/decryption key and a third unitary archive, an elementary archive of which corresponds to the record of the data container whose attribute has been modified and for which each elementary archive field corresponds to each attribute of said record encrypted by the encryption/decryption key previously created;
  • one step:
    • deleting the attribute designating the encryption/decryption key in the associative container record corresponding to the updated data container record;
    • of creating, in said associative container, a new record associated with the updated record in the data container, the new record of said associative container comprising:
      • an attribute to contain the unique key designating said data container record that was updated;
      • attributes to respectively designate the third unit archive and the elementary archive of the latter which has just been initialized;
      • an attribute designating the encryption/decryption key used to encrypt the fields of the elementary archive of said third archive.

Pour terminer la mise en œuvre d’un tel procédé de gestion de données conforme à l’invention en vue d’une exploitation tierce desdites données, celui-ci peut comporter un traitement d’exportation des données comprenant :

  • une étape de lecture de tout enregistrement du conteneur associatif comportant un attribut désignant une clé de chiffrement/déchiffrement ;
  • une étape de :
    • lecture de l’archive élémentaire de l’archive unitaire conjointement désignées par ledit enregistrement lu au sein du conteneur associatif ;
    • déchiffrement des champs de ladite archive élémentaire lue à partir de la clé de chiffrement/déchiffrement désignée également par l’enregistrement lu dans le conteneur associatif ;
    • création d’une archive élémentaire dans une quatrième archive unitaire, dite « archive unitaire de sortie » dont les champs correspondent respectivement auxdits champs déchiffrés de l’archive élémentaire lue.
To complete the implementation of such a data management method in accordance with the invention with a view to third-party exploitation of said data, this may include data export processing comprising:
  • a step of reading any record of the associative container comprising an attribute designating an encryption/decryption key;
  • a step of:
    • reading the elementary archive of the unitary archive jointly designated by said record read within the associative container;
    • decryption of the fields of said elementary archive read from the encryption/decryption key also designated by the record read in the associative container;
    • creation of an elementary archive in a fourth unitary archive, called “output unitary archive” whose fields correspond respectively to said decrypted fields of the elementary archive read.

De manière avantageuse, un procédé de gestion de données selon l’invention peut comporter une étape d’enregistrement dans une troisième mémoire de données du système informatique de ladite archive unitaire de sortie.Advantageously, a data management method according to the invention may include a step of recording said unitary output archive in a third data memory of the computer system.

Selon un mode de réalisation avantageux, un tel procédé de gestion de données conforme à l’invention peut comporter une étape de vérification de la pertinence de ladite archive unitaire de sortie, l’étape d’enregistrement dans une troisième mémoire de données n’étant mise en œuvre que si ladite étape de vérification atteste que ladite archive unitaire de sortie est pertinente.According to an advantageous embodiment, such a data management method in accordance with the invention may include a step of verifying the relevance of said unitary output archive, the step of recording in a third data memory only being implemented if said verification step attests that said unitary output archive is relevant.

De la même manière, l’invention prévoit qu’un tel procédé conforme à l’invention puisse comporter une étape de vérification de la pertinence de la première archive unitaire créée, préalable à la mise en œuvre de l’étape de création du conteneur de données et/ou de l’étape de création du conteneur associatif, au moins l’une de ces deux étapes de création n’étant mise en œuvre que si ladite étape de vérification atteste que ladite première archive unitaire est conforme à l’archive unitaire d’entrée, ladite première archive unitaire étant supprimée de la première mémoire de données et l’étape de création dans ladite première mémoire de données d’une première archive unitaire à partir de l’archive unitaire d’entrée étant de nouveau mise en œuvre dans le cas contraire.In the same way, the invention provides that such a method in accordance with the invention may include a step of verifying the relevance of the first unitary archive created, prior to the implementation of the step of creating the data container and/or the step of creating the associative container, at least one of these two creation steps being implemented only if said verification step attests that said first unitary archive is consistent with the input unitary archive, said first unitary archive being deleted from the first data memory and the step of creating in said first data memory a first unitary archive from the input unitary archive being implemented again in the opposite case.

Selon ce dernier mode de réalisation avantageux, ladite étape de vérification de la pertinence de la première archive unitaire peut consister en la comparaison de codes de redondances respectivement et préalablement calculés à partir de l’archive unitaire d’entrée et de la première archive unitaire.According to this latter advantageous embodiment, said step of verifying the relevance of the first unitary archive may consist of the comparison of redundancy codes respectively and previously calculated from the input unitary archive and the first unitary archive.

A l’instar de la précédente étape de vérification de la pertinence de la première archive unitaire, un procédé de gestion de données conforme à l’invention peut comporter une étape de vérification de la pertinence de la deuxième archive unitaire créée au regard de la première archive unitaire préalablement à la mise en œuvre de l’étape de suppression de la première archive unitaire dans ladite première mémoire de données, ladite étape de vérification consistant à :

  • déchiffrer les champs de chaque archive élémentaire de la deuxième archive unitaire à l’aide de la clé de chiffrement/déchiffrement désignée dans l’enregistrement qui est associé à ladite archive élémentaire dans le conteneur associatif et créer une archive élémentaire de champs clairs dans une cinquième archive unitaire ;
  • évaluer la conformité de ladite cinquième archive unitaire à ladite première archive unitaire ;
l’étape de suppression de la première archive unitaire dans la première mémoire de données, n’étant mise en œuvre que si ladite étape de vérification de la pertinence de ladite deuxième archive unitaire atteste que ladite cinquième archive unitaire est conforme à la première archive unitaire, ledit procédé comportant, dans le cas contraire, une étape de suppression dans la première mémoire de données, de ladite deuxième archive unitaire et de ladite cinquième archive unitaire provoquant une nouvelle mise en œuvre de l’étape de création d’une deuxième archive unitaire à partir de la première archive unitaire et de clés de chiffrement/déchiffrement.Like the previous step of verifying the relevance of the first unit archive, a data management method according to the invention may include a step of verifying the relevance of the second unit archive created with respect to the first unit archive prior to the implementation of the step of deleting the first unit archive in said first data memory, said verification step consisting of:
  • decrypting the fields of each elementary archive of the second unitary archive using the encryption/decryption key designated in the record that is associated with said elementary archive in the associative container and creating an elementary archive of clear fields in a fifth unitary archive;
  • assess the conformity of said fifth unitary archive to said first unitary archive;
the step of deleting the first unit archive in the first data memory, being implemented only if said step of verifying the relevance of said second unit archive attests that said fifth unit archive is consistent with the first unit archive, said method comprising, in the opposite case, a step of deleting in the first data memory, said second unit archive and said fifth unit archive causing a new implementation of the step of creating a second unit archive from the first unit archive and encryption/decryption keys.

Une telle étape de vérification de la pertinence de la deuxième archive unitaire créée au regard de la première archive unitaire peut consister en la comparaison de codes de redondances respectivement et préalablement calculés à partir des première et cinquième archives unitaire.Such a step of verifying the relevance of the second unitary archive created with regard to the first unitary archive may consist of comparing redundancy codes respectively and previously calculated from the first and fifth unitary archives.

Pour ne pas alourdir inutilement la mise en œuvre d’un procédé de gestion de données selon l’invention et préserver ainsi les ressources matérielles de l’unité de traitement mettant en œuvre ledit procédé et la première mémoire de données, l’étape de création d’une deuxième archive unitaire peut n’être mise en œuvre que si des données contenues dans la première archive unitaire sont concernées par des obligations contradictoires de conservation et de mise à jour.In order not to unnecessarily burden the implementation of a data management method according to the invention and thus preserve the hardware resources of the processing unit implementing said method and the first data memory, the step of creating a second unitary archive may only be implemented if data contained in the first unitary archive is affected by conflicting conservation and updating obligations.

Selon un mode de réalisation avantageux, chaque archive unitaire peut consister en un fichier plat, dont chaque archive élémentaire peut consister en une ligne dudit fichier plat.According to an advantageous embodiment, each unitary archive may consist of a flat file, each elementary archive of which may consist of a line of said flat file.

Selon un mode de réalisation avantageux, un conteneur de données peut consister en une table courante et un conteneur associatif peut consister en une table associative.According to an advantageous embodiment, a data container may consist of a current table and an associative container may consist of an associative table.

Selon un deuxième objet, l’invention concerne un produit programme d’ordinateur comportant une ou plusieurs instructions de programme exécutables par l’unité de traitement d’un système informatique, lesdites instructions de programme étant chargeables dans une mémoire non volatile dudit système informatique et dont l’exécution par ladite unité de traitement provoque la mise en œuvre d’un procédé de gestion de données conforme à l’invention.According to a second subject, the invention relates to a computer program product comprising one or more program instructions executable by the processing unit of a computer system, said program instructions being loadable into a non-volatile memory of said computer system and the execution of which by said processing unit causes the implementation of a data management method in accordance with the invention.

Selon un troisième objet, l’invention concerne un support de mémorisation lisible par un ordinateur comportant les instructions d’un tel produit programme d’ordinateur.According to a third object, the invention relates to a storage medium readable by a computer comprising the instructions of such a computer program product.

Selon un quatrième objet, l’invention concerne un système informatique comprenant une unité de traitement, une mémoire comprenant les instructions de programme d’un produit programme conforme à l’invention.According to a fourth object, the invention relates to a computer system comprising a processing unit, a memory comprising the program instructions of a program product in accordance with the invention.

D’autres caractéristiques et avantages apparaîtront plus clairement à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent parmi lesquelles :Other features and advantages will become more apparent upon reading the following description and examining the accompanying figures, including:

illustre l’architecture simplifiée d’un système informatique mettant en œuvre un procédé de gestion de données conforme à l’invention pour importer, mettre à jour et exporter de telles données concernées par des obligations de conservation et de mise à jour ; illustrates the simplified architecture of a computer system implementing a data management method in accordance with the invention for importing, updating and exporting such data concerned by retention and updating obligations;

illustre un traitement d’importation de données d’un tel procédé de gestion de données conforme à l’invention ; illustrates a data import processing of such a data management method according to the invention;

illustre un exemple d’une table courante de données exploitée par un procédé de gestion de données conforme à l’invention, une telle table comportant pour tout enregistrement un attribut clé prévu pour identifier de manière unique une information unitaire répartie dans les autres attributs de chaque enregistrement ; illustrates an example of a current data table used by a data management method according to the invention, such a table comprising for each record a key attribute provided to uniquely identify a unitary information distributed in the other attributes of each record;

illustre un exemple particulier d’une telle table courante de données exploitée par un procédé de gestion de données conforme à l’invention, une telle table comprenant deux enregistrements dont les attributs caractérisent respectivement des clients d’un fournisseur exploitant une application de gestion de données mettant en œuvre un procédé de gestion de données conforme à l’invention ; illustrates a particular example of such a current data table used by a data management method according to the invention, such a table comprising two records whose attributes respectively characterize customers of a supplier operating a data management application implementing a data management method according to the invention;

illustre un exemple d’une table associative exploitée par un procédé de gestion de données conforme à l’invention, une telle table associative comportant pour tout enregistrement des attributs associant une information unitaire traduite dans au moins une table courante de données et un fichier plat traduisant ladite information unitaire à des fins de conservation ; illustrates an example of an associative table used by a data management method according to the invention, such an associative table comprising for each record attributes associating unitary information translated into at least one current data table and a flat file translating said unitary information for conservation purposes;

illustre un exemple particulier d’une telle table associative en lien avec l’exemple de la table courante illustrée par la ; illustrates a particular example of such an associative table in connection with the example of the current table illustrated by the ;

illustre un traitement préalable à une première mise à jour de données d’un procédé de gestion de données conforme à l’invention ; illustrates a processing prior to a first data update of a data management method according to the invention;

illustre l’exemple particulier de la table courante de données et de la table associative qui lui est associée, tables respectivement illustrées par les figures 3A et 4A, ladite table associative étant modifiée, préalablement à toute mise à jour de ladite table courante, par la mise en œuvre d’un tel traitement préalable à une première mise à jour de données conforme à l’invention et illustré par la ; illustrates the particular example of the current data table and the associative table associated with it, tables respectively illustrated by FIGS. 3A and 4A, said associative table being modified, prior to any update of said current table, by the implementation of such processing prior to a first data update in accordance with the invention and illustrated by the ;

illustre un traitement de mise à jour de données d’un procédé de gestion de données conforme à l’invention ; illustrates a data update processing of a data management method according to the invention;

illustre l’exemple particulier de la table courante de données et de la table associative qui lui est associée, tables respectivement illustrées par les figures 3A, 4A et 6, ladite table associative étant modifiée conjointement à la suppression d’un enregistrement de ladite table courante, par la mise en œuvre d’un tel traitement de mise à jour de données conforme à l’invention et illustré par la ; illustrates the particular example of the current data table and the associative table associated with it, tables respectively illustrated by FIGS. 3A, 4A and 6, said associative table being modified jointly with the deletion of a record from said current table, by the implementation of such data update processing in accordance with the invention and illustrated by the ;

illustre l’exemple particulier de la table courante de données et de la table associative qui lui est associée, tables respectivement illustrées par les figures 3, 3A, 6 et 8, ladite table associative étant modifiée conjointement à la modification d’un attribut d’un enregistrement de ladite table courante, par la mise en œuvre d’un tel traitement de mise à jour de données conforme à l’invention et illustré par la ; illustrates the particular example of the current data table and the associative table associated with it, tables respectively illustrated by FIGS. 3, 3A, 6 and 8, said associative table being modified jointly with the modification of an attribute of a record of said current table, by the implementation of such data update processing in accordance with the invention and illustrated by the ;

illustre un traitement d’exportation de données d’un procédé de gestion de données conforme à l’invention ; illustrates a data export processing of a data management method according to the invention;

illustre un exemple de fichier exporté résultant de la mise en œuvre d’un traitement d’exportation de données d’un procédé de gestion de données conforme à l’invention. illustrates an example of an exported file resulting from the implementation of a data export processing of a data management method according to the invention.

Les données dont on souhaite assurer une gestion peuvent prendre des formes plus ou moins complexes. Des formes simples traduisent par exemple des préférences d’utilisateurs pour spécifier une ou plusieurs langues dans laquelle certaines informations sont restituées via une interface homme-machine de sortie, la charte graphique à exploiter pour présenter de telles informations, etc. D’autres données sont plus complexes et interreliées sur la base desquelles un logiciel de gestion de données assure des fonctions d'ajout, de modification, de suppression ou de consultation. D’autres données enfin peuvent identifier ou désigner des documents qui leurs sont associés.The data that we want to manage can take more or less complex forms. Simple forms translate, for example, user preferences to specify one or more languages in which certain information is returned via a human-machine output interface, the graphic charter to be used to present such information, etc. Other data are more complex and interrelated on the basis of which a data management software ensures functions of addition, modification, deletion or consultation. Finally, other data can identify or designate documents associated with them.

Il existe plusieurs formats de sauvegarde ou de stockage de telles données que l’on englobe généralement sous le terme de « base de données ». Parmi de tels formats, nous pouvons citer les fichiers plats (ou « flat files » selon une terminologie anglo-saxonne) et les tables d’une base de données relationnelles, structurant davantage les données que les fichiers plats. Dans un cas comme dans l'autre, les données sont organisées selon certains critères en vue de permettre leur exploitation par un logiciel ou une application de gestion.There are several formats for saving or storing such data that are generally included under the term "database". Among such formats, we can cite flat files (or "flat files" according to Anglo-Saxon terminology) and the tables of a relational database, structuring the data more than flat files. In both cases, the data is organized according to certain criteria in order to allow their exploitation by software or a management application.

On entend par « fichier plat », un fichier texte, non compilé, dans lequel sont stockées des données. Chaque ligne d’un tel fichier plat comporte un ou plusieurs champs généralement séparés par un délimiteur ou par une césure définie par un nombre de caractères déterminé pour chacun desdits champs. A titre d’exemple, la virgule, le point-virgule ou encore les deux points sont souvent exploités en tant que délimiteurs. Les fichiers plats sont largement utilisés dans les projets de sauvegarde de données ou d’importation/exportation de données en raison de la facilité avec laquelle ils véhiculent des données entre deux serveurs informatiques par exemple. Ils sont donc généralement exploités pour constituer des archives dont on peut assurer l’intégrité et l’exploitabilité. Les fichiers plats ne contiennent toutefois aucune relation ou lien entre différentes lignes ou différents champs au sein d’un même fichier plat ou à destination d’autres lignes et/ou champs de fichiers plats distincts. Un fichier plat est ainsi un conteneur de données simple selon lequel les champs d’une même ligne constitue un ensemble de données indépendantes. Un fichier plat peut néanmoins contenir des métadonnées, par exemple définies dans les premières lignes du fichier. Nous pouvons citer différents formats de fichiers plats parmi les plus connus dont :

  • le fichier « TXT » qui est un fichier texte non formaté et exploitable par toute application logicielle ;
  • le fichier « CSV » (abréviation anglo-saxonne de «C omma S eparated V alues» pour lequel chaque champ est dépourvu de formatage et est séparé du suivant par une virgule ;
  • le fichier « XML » (abréviation anglo-saxonne de «Extensible Markup Language» pour lequel chaque champ est associé à des balises pour décrire et structurer les données ;
  • le fichier « AIS » (abréviation anglo-saxonne de « Audit Information System » format d’audit SAP (marque déposée), ce fichier contenant des métadonnées.
A "flat file" is a text file, not compiled, in which data is stored. Each line of such a flat file contains one or more fields generally separated by a delimiter or by a hyphenation defined by a number of characters determined for each of said fields. For example, the comma, the semicolon or even the colon are often used as delimiters. Flat files are widely used in data backup or data import/export projects because of the ease with which they convey data between two computer servers for example. They are therefore generally used to create archives whose integrity and usability can be ensured. However, flat files do not contain any relationship or link between different lines or different fields within the same flat file or to other lines and/or fields of distinct flat files. A flat file is thus a simple data container according to which the fields of the same line constitute a set of independent data. A flat file can nevertheless contain metadata, for example defined in the first lines of the file. We can cite different flat file formats among the best known including:
  • the “TXT” file which is an unformatted text file that can be used by any software application;
  • the “CSV” file (English abbreviation for “ Comma Separated Values for which each field is unformatted and is separated from the next by a comma;
  • the “XML” file (Anglo-Saxon abbreviation for “ Extensible Markup Language ” for which each field is associated with tags to describe and structure the data;
  • the “AIS” file (English abbreviation for “Audit Information System” SAP audit format (registered trademark), this file containing metadata.

Lorsqu’une base de données nécessite l’exploitation de données plus structurées et interreliées, celle-ci comporte des tables en lieu et place de simples fichiers plats. On entend dans ce document par « table » un conteneur de données comportant des informations sur les relations entre les différentes données, telles qu'un type de produit ou les caractéristiques d’une personne. Chaque ensemble d’informations associées à un produit ou à une personne spécifique par exemple constitue un enregistrement de la table et les colonnes énumèrent des attributs qui se rapportent à ce produit ou à cette personne. Les bases de données relationnelles sont composées d’un ensemble de tables qui peuvent être accessibles et reconstruites de différentes manières. Pour accéder à l’information, il est requis d’utiliser des requêtes pour interroger de façon interactive les données contenues dans la base de données relationnelle et pour collecter les données dans le cadre de rapports. Une clé est un groupe d'attributs qui permet d'identifier de façon univoque une ligne dans une relation comme les attributs « prénom » et « nom » d’une personne. On distingue généralement deux types de tables. Le premier concerne les tables dites « tables courantes » de données qui comportent des enregistrements dont les attributs caractérisent conjointement un produit ou une personne pour reprendre l’exemple précédent. Le deuxième type concerne des tables dites « tables associatives » qui assurent des liaisons entre deux tables courantes par exemple. Par extension, dans ce document, on parlera de :

  • « conteneurs de données » pour décrire tous conteneurs (tables courantes, fichiers plats ou équivalent) qui caractérisent, par exemple, des produits, services, sujets, etc. ;
  • « conteneur de données associatif », ou de « conteneur associatif » par souci de concision, pour décrire tout conteneur (table associative, fichier plat ou équivalent) qui assure des liaisons entre conteneurs de données (tables courantes ou fichiers plats par exemple).
When a database requires the exploitation of more structured and interrelated data, it contains tables instead of simple flat files. In this document, a "table" is understood to be a data container containing information on the relationships between different data, such as a type of product or the characteristics of a person. Each set of information associated with a specific product or person, for example, constitutes a record in the table and the columns list attributes that relate to this product or person. Relational databases are composed of a set of tables that can be accessed and reconstructed in different ways. To access the information, it is required to use queries to interactively query the data contained in the relational database and to collect the data in the context of reports. A key is a group of attributes that uniquely identify a row in a relation, such as the "first name" and "last name" attributes of a person. There are generally two types of tables. The first concerns the so-called "current tables" of data which contain records whose attributes jointly characterize a product or a person to take the previous example. The second type concerns tables called "associative tables" which provide links between two current tables for example. By extension, in this document, we will speak of:
  • “data containers” to describe any containers (common tables, flat files or equivalent) that characterize, for example, products, services, subjects, etc.;
  • "associative data container", or "associative container" for brevity, to describe any container (associative table, flat file or equivalent) that provides links between data containers (common tables or flat files for example).

La illustre un exemple d’un système informatique 1 de gestion de données. Un tel système informatique peut consister en un ordinateur, un serveur informatique ou tout autre dispositif électronique ou ensemble de dispositifs électroniques. De manière simplifiée, la illustre un système informatique comportant une unité de traitement PU, sous la forme d’un ou plusieurs microprocesseurs ou microcontrôleurs coopérant avec une ou plusieurs mémoires de données DMi, DMw, DMo. Ainsi, par exemple, DMi caractérise une application «legacy», DMw caractérise l’application actuelle, est DMo caractérise une application qui prendra la relève de l’application actuelle. Lesdites mémoires de données DMi, DMw, DMo peuvent être des entités ou des ensembles d’entités physiquement dissociés les uns des autres ou bien être confondus pour certains au sein d’une même entité physique. En outre, ces mêmes mémoires de données DMi, DMw, DMo peuvent coopérer directement, par voie filaire, c’est-à-dire via un bus de communication, avec ladite unité de traitement PU ou bien être distantes de ladite unité de traitement et hébergées par des systèmes informatiques tiers. L’unité de traitement PU coopère alors avec une ou plusieurs mémoires de données via un réseau de communication avec ou sans fil, tel qu’Internet. A titre d’exemple illustratif, considérons en lien avec la , que le système informatique 1 comporte un serveur informatique dont l’unité de traitement PU est agencée pour mettre en œuvre un procédé de gestion de données 10 exploitant une mémoire de données DMw locale et qui coopère, en mode SaaS (acronyme anglo-saxon de «Software -a s - a - S ervice») ou équivalent, avec des ordinateurs distants comportant respectivement les mémoires de données DMi et DMo. Le SaaS est un modèle d'exploitation commerciale de logiciels selon lequel lesdits logiciels sont installés, maintenus et exploités sur des serveurs distants chez un tiers plutôt que sur le système informatique de l’utilisateur final. Ce dernier exploite un service en ligne généralement moyennant le paiement d’un abonnement auprès du tiers.There illustrates an example of a computer system 1 for data management. Such a computer system may consist of a computer, a computer server or any other electronic device or set of electronic devices. In simplified terms, the illustrates a computer system comprising a processing unit PU, in the form of one or more microprocessors or microcontrollers cooperating with one or more data memories DMi, DMw, DMo. Thus, for example, DMi characterizes a " legacy " application, DMw characterizes the current application, and DMo characterizes an application that will take over from the current application. Said data memories DMi, DMw, DMo may be entities or sets of entities physically dissociated from each other or may be merged for some within the same physical entity. Furthermore, these same data memories DMi, DMw, DMo may cooperate directly, by wire, i.e. via a communication bus, with said processing unit PU or may be remote from said processing unit and hosted by third-party computer systems. The processing unit PU then cooperates with one or more data memories via a wired or wireless communication network, such as the Internet. As an illustrative example, let us consider in connection with the , that the computer system 1 comprises a computer server whose processing unit PU is arranged to implement a data management method 10 using a local data memory DMw and which cooperates, in SaaS mode (an acronym for " Software - as - a - Service ") or equivalent, with remote computers respectively comprising the data memories DMi and DMo. SaaS is a commercial software operating model according to which said software is installed, maintained and operated on remote servers at a third party rather than on the end user's computer system. The latter operates an online service generally by paying a subscription to the third party.

Pour adapter le fonctionnement d’un système informatique 1, un ou plusieurs programmes d’ordinateur comportant des instructions exécutables par l’unité de traitement PU dudit système informatique 1, sont chargées dans une mémoire de programmes PM, lesdites instructions de programme provoquant la mise en œuvre de procédés idoines par ladite unité de traitement PU.To adapt the operation of a computer system 1, one or more computer programs comprising instructions executable by the processing unit PU of said computer system 1 are loaded into a program memory PM, said program instructions causing the implementation of suitable methods by said processing unit PU.

La illustre un exemple de description fonctionnelle très simplifiée d’un procédé 10 de gestion de données conforme à l’invention et mis en œuvre par un système informatique 1. Principalement, un tel procédé 10 consiste en un premier traitement 100 visant à importer des données d’archive depuis une mémoire de données DMi. Le traitement 100 peut être une copie d’une archive fiscale déjà constituée, ou de façon plus complète l’extraction d’une archive fiscale. Ces données, dont certaines peuvent être concernées par une double obligation de conservation et de mise à jour, constituent des archives élémentaires, éventuellement groupées sous la forme d’archives unitaires. A titre d’exemple préféré mais non limitatif, de telles archives unitaires consistent en un ou plusieurs fichiers plats FFi dont les lignes, voire des champs de telles lignes, forment respectivement des archives élémentaires. D’autres formats d’archives unitaires pourraient être retenus, comme des tables de données, en lieu et place de fichiers plats. Il suffit que lesdits formats respectent les critères de traçabilité et d’exploitabilité évoqués précédemment en lien avec la notion d’archives internes et externes, par exemple.There illustrates an example of a very simplified functional description of a data management method 10 according to the invention and implemented by a computer system 1. Mainly, such a method 10 consists of a first processing 100 aimed at importing archive data from a data memory DMi. The processing 100 can be a copy of an already created tax archive, or more completely the extraction of a tax archive. These data, some of which may be concerned by a double obligation of conservation and updating, constitute elementary archives, possibly grouped in the form of unit archives. As a preferred but non-limiting example, such unit archives consist of one or more flat files FFi whose lines, or even fields of such lines, respectively form elementary archives. Other unit archive formats could be retained, such as data tables, in place of flat files. It is sufficient that these formats respect the criteria of traceability and exploitability mentioned previously in connection with the notion of internal and external archives, for example.

Des données ont pu également servir à constituer ou identifier un ensemble de documents Di, par exemple, des contrats, des feuilles de salaire, des factures. Pour constituer une telle forme de stockage sous la forme d’un ou plusieurs fichiers plats FFi, ces données ont pu faire l’objet d’un processus d’extraction de données depuis une base de données relationnelle devenue obsolète. Les archives sous la forme de fichiers plats FFi peuvent être respectivement associées à un ensemble de codes de redondance ou d’empreintes Hi destinés à prouver leur intégrité. Un tel code de redondance peut par exemple résulter d’une mise en œuvre d’une fonction cryptographique de hachage (également connue sous la terminologie anglo-saxonne «Secure Hash Function» ou par l’acronyme SHA). Il existe de nombreux algorithmes, parmi lesquels nous pouvons citer SHA-1, SHA-256, SHA-512, MD5, pour réaliser une telle fonction de hachage. La fonction cryptographique de hachage est principalement agencée de sorte qu’une altération du fichier aussi mineure soit-elle, provoque une claire modification dudit code de redondance si celui-ci est recalculé à l’issue de ladite altération. L’invention ne saurait être limitée par ces seuls exemples de production de codes de redondance ni même par leur exploitation ou existence. Le traitement d’importation 100 consiste principalement à traduire les données d’archive contenues dans le ou les fichiers plats FFi, pour que les informations contenues se retrouvent sous la forme de fichiers plats ou d’archives unitaires de travail FFw, d’une ou plusieurs tables courantes de données Tw, ou plus généralement de tous conteneurs de données, et d’une ou plusieurs tables associatives CTw d’une base de données pour en faciliter la gestion. Ces nouvelles structures de données, conteneurs et archives unitaires, sont enregistrées dans la mémoire de données locales DMw. Un tel traitement d’importation 100 sera décrit plus en détail en lien avec les figures 2, 3 et 4 sous une forme générale et en en lien avec les figures 2, 3A et 4A au travers d’un exemple d’application concret et simplifié.Data could also be used to constitute or identify a set of documents Di, for example, contracts, pay slips, invoices. To constitute such a form of storage in the form of one or more flat files FFi, this data could have been the subject of a data extraction process from a relational database that had become obsolete. The archives in the form of flat files FFi can be respectively associated with a set of redundancy codes or Hi fingerprints intended to prove their integrity. Such a redundancy code can for example result from an implementation of a cryptographic hash function (also known by the English terminology " Secure Hash Function " or by the acronym SHA). There are many algorithms, among which we can cite SHA-1, SHA-256, SHA-512, MD5, to carry out such a hash function. The cryptographic hash function is mainly arranged so that an alteration of the file, however minor, causes a clear modification of said redundancy code if the latter is recalculated following said alteration. The invention cannot be limited by these examples of production of redundancy codes alone, nor even by their use or existence. The import processing 100 mainly consists in translating the archive data contained in the flat file(s) FFi, so that the information contained is found in the form of flat files or unitary working archives FFw, one or more current data tables Tw, or more generally all data containers, and one or more associative tables CTw of a database to facilitate their management. These new data structures, containers and unitary archives are recorded in the local data memory DMw. Such import processing 100 will be described in more detail in connection with FIGS. 2, 3 and 4 in a general form and in connection with FIGS. 2, 3A and 4A through a concrete and simplified application example.

Comme l’indique la figure 1, un procédé de gestion de données 10 selon l’invention comporte un processus de mise à jour 300 desdites données pour mettre à jours certaines informations, c’est-à-dire modifier et/ou supprimer ces dernières. Préalablement à la mise en œuvre d’un tel traitement de mise à jour 300, un procédé 10 comporte un pré-traitement 200 visant à chiffrer les fichiers de travail FFw à partir de clés de chiffrement/déchiffrement . Enfin, pour mettre un terme à la gestion des données en vue d’une migration subséquente, un tel procédé 10 peut comporter un traitement 400 dedecommissioning ,selon une terminologie anglo-saxonne, visant à exporter les données sous la forme de fichiers plats FFo à destination d’une mémoire de données de sortie DMo. La gestion des documents d’entrée Di, copiés sous la forme de documents de travail Dw dont certains pourront être copiés pour devenir des documents de sortie Do ne font pas directement partie de l’invention. En revanche, l’invention prévoit que des données de désignation, par exemple des indexes, désignant de tels documents Di, Dw, Do puissent être associées à ces derniers. Ces données de désignation peuvent être traitées comme des archives élémentaires ou unitaires. Ainsi, la gestion de tels documents Di, Dw, Do peut être considérée comme adressée, indirectement, par un procédé 10 conforme à l’invention.As shown in FIG. 1, a data management method 10 according to the invention comprises a process 300 for updating said data to update certain information, i.e. modify and/or delete the latter. Prior to the implementation of such an update processing 300, a method 10 comprises a pre-processing 200 aimed at encrypting the working files FFw from encryption/decryption keys . Finally, to terminate the data management for a subsequent migration, such a method 10 may include a decommissioning processing 400 , according to English terminology, aimed at exporting the data in the form of flat files FFo to an output data memory DMo. The management of the input documents Di, copied in the form of working documents Dw, some of which may be copied to become output documents Do, is not directly part of the invention. On the other hand, the invention provides that designation data, for example indexes, designating such documents Di, Dw, Do may be associated with the latter. This designation data may be treated as elementary or unitary archives. Thus, the management of such documents Di, Dw, Do may be considered as addressed, indirectly, by a method 10 in accordance with the invention.

Examinons plus en détail, en lien avec les figures 2, 3 et 4 un traitement d’importation de données 100 d’un procédé de gestion de données 10 conforme à l’invention.Let us examine in more detail, in connection with figures 2, 3 and 4, a data import processing 100 of a data management method 10 according to the invention.

Considérons que les données d’archive sont initialement stockées en clair dans un fichier plat FFi au sein d’une mémoire de données d’entrée DMi du système informatique 1. Un tel fichier plat FFi comporte une ou plusieurs lignes, décrivant respectivement des archives élémentaires, comprenant chacune un ou plusieurs champs pour respectivement stocker des informations distinctes comme l’indique la .Let us consider that the archive data is initially stored in clear text in a flat file FFi within an input data memory DMi of the computer system 1. Such a flat file FFi comprises one or more lines, respectively describing elementary archives, each comprising one or more fields for respectively storing distinct information as indicated by the .

Un traitement d’importation 100 peut consister tout d’abord en une étape 101 de lecture de l’archive unitaire, par exemple, sous la forme du fichier plat FFi et de création 102 dans la mémoire de données de travail DMw d’une deuxième archive unitaire, par exemple, sous la forme d’un deuxième fichier plat FFw-1 à partir dudit premier fichier plat FFi de sorte que lesdits premier et deuxième fichiers plats FFi et FFw-1 soient identiques. Comme l’indique la , un fichier plat FFw-1 consiste ainsi en une pluralité de m lignes FFw-1R1 à FFw-1Rm, chacune comportant n champs TFd1, TFd2 à TFdn. Selon l’exemple illustré par la , ces derniers sont séparés par un délimiteur d, en l’espèce le point-virgule. L’invention ne saurait être limitée par ce seul choix de délimiteur et pourrait exploiter ‘:’ ou ‘/’ en lieu et place dudit point-virgule.An import processing 100 may consist first of all in a step 101 of reading the unit archive, for example, in the form of the flat file FFi and of creating 102 in the working data memory DMw a second unit archive, for example, in the form of a second flat file FFw-1 from said first flat file FFi so that said first and second flat files FFi and FFw-1 are identical. As indicated in the , a flat file FFw-1 thus consists of a plurality of m lines FFw-1R1 to FFw-1Rm, each comprising n fields TFd1, TFd2 to TFdn. According to the example illustrated by the , the latter are separated by a delimiter d, in this case the semicolon. The invention cannot be limited by this choice of delimiter alone and could use ':' or '/' instead of said semicolon.

Afin de s’assurer que le fichier FFw-1 est bien conforme au fichier plat FFi et/ou que ce dernier n’a pas été altéré préalablement ou durant l’étape 101, un traitement 100 peut avantageusement comporter une étape 103 de vérification de la pertinence du fichier plat FFw-1. Une telle étape peut consister en la comparaison de codes de redondances Hi et H1 respectivement et préalablement calculés à partir des fichiers plats FFi et FFw-1. Si l’étape 103 atteste que lesdits codes de redondances Hi et H1 sont différents, le fichier plat FFw-1 est jugé non conforme, en l’espèce non identique, au fichier plat d’entrée FFi. Dans ce cas, situation illustrée par le lien 103-n sur la , ledit fichier plat FFw-1 est supprimé, en une étape 104, de la mémoire de données DMw et l’étape 102 de création d’un nouveau fichier plat FFw-1 à partir dudit fichier plat d’entrée FFi est de nouveau mise en œuvre. Dans le cas contraire, situation illustrée par le lien 103-y en , le traitement 100 peut suivre son cours.In order to ensure that the file FFw-1 is indeed compliant with the flat file FFi and/or that the latter has not been altered beforehand or during step 101, a processing 100 may advantageously include a step 103 of verifying the relevance of the flat file FFw-1. Such a step may consist of comparing redundancy codes Hi and H1 respectively and previously calculated from the flat files FFi and FFw-1. If step 103 attests that said redundancy codes Hi and H1 are different, the flat file FFw-1 is deemed non-compliant, in this case not identical, to the input flat file FFi. In this case, the situation is illustrated by the link 103-n on the , said flat file FFw-1 is deleted, in a step 104, from the data memory DMw and the step 102 of creating a new flat file FFw-1 from said input flat file FFi is implemented again. Otherwise, situation illustrated by the link 103-y in , treatment 100 can continue.

Quelles que soient les modalités de constitution de l’archive unitaire FFw-1, un traitement 100 comporte une étape 105 de création, dans la première mémoire de données DMw, d’un conteneur de données Tw, sous la forme avantageuse d’une table courante, dont les enregistrements TwR1, TwR2, TwR3, …, TwRm , désignent chacun une archive élémentaire et correspondent respectivement aux lignes FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm du fichier plat FFw-1 constituant une archive unitaire. Une telle table courante Tw est telle qu’un attribut TwRxAn d’enregistrement correspond à un champ FFw-1RxCn de ligne.Whatever the methods of constituting the unitary archive FFw-1, a processing 100 comprises a step 105 of creating, in the first data memory DMw, a data container Tw, in the advantageous form of a current table, the records TwR1, TwR2, TwR3, …, TwRm of which each designate an elementary archive and correspond respectively to the lines FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm of the flat file FFw-1 constituting a unitary archive. Such a current table Tw is such that a record attribute TwRxAn corresponds to a line field FFw-1RxCn.

La table courante Tw est créée à l’étape 105 de telle sorte que chaque enregistrement comporte en outre un attribut supplémentaire TwRxAUK dont la valeur UK1, UK2, UK3, UKm consiste en une clé unique désignant de manière univoque l’information contenue dans un enregistrement déterminé de ladite table courante Tw et par conséquent l’information (archive élémentaire) contenue dans une ligne correspondante du fichier plat FFw-1 (archive unitaire). Une telle clé unique UK1, UK2, UK3, UKm peut être élaborée selon différentes techniques, parmi lesquelles nous pouvons citer la mise en œuvre d’une fonction cryptographique de hachage de tout ou partie des valeurs des attributs d’un enregistrement de la table Tw à l’exception de l’attribut TwRxAUK, le tirage (sans doublons) d’un nombre aléatoire, l’incrémentation d’un nombre, etc.The current table Tw is created in step 105 such that each record also includes an additional attribute TwRxAUK whose value UK1, UK2, UK3, UKm consists of a unique key designating in a unique manner the information contained in a given record of said current table Tw and consequently the information (elementary archive) contained in a corresponding line of the flat file FFw-1 (unitary archive). Such a unique key UK1, UK2, UK3, UKm can be developed using different techniques, among which we can cite the implementation of a cryptographic function for hashing all or part of the values of the attributes of a record of the table Tw with the exception of the attribute TwRxAUK, the drawing (without duplicates) of a random number, the incrementation of a number, etc.

En lien avec les figures 2 et 4, l’étape 105 consiste en outre à créer, dans la mémoire de données DMw, un conteneur associatif CTw, sous la forme avantageuse d’une table associative, comportant un enregistrement CTwR1, CTwR2, CTwR3, …, CTwRk associé à chaque enregistrement TwR1, TwR2, TwR3, …,TwRm de la table courante Tw. Chaque enregistrement de ladite table associative CTw comporte un attribut UK pour contenir la clé unique désignant l’enregistrement de la table courante qui lui est ainsi associé. Chaque enregistrement de ladite table associative CTw comporte en outre des attributs FN, RN pour respectivement désigner le fichier plat FFw-1 ainsi que la ligne de ce dernier à partir desquels l’enregistrement de la table courante Tw qui lui est associé a été initialisé. La clé unique UK1, UK2, UK3, UKm permet ainsi d’associer, via la table associative CTw, une ligne FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm du fichier FFw-1 à un enregistrement TwR1, TwR2, TwR3, …, TwRm de la table Tw. A titre optionnel et avantageux, chaque enregistrement CTwR1, CTwR2, CTwR3, …, CTwRk de la table associative CTw peut comporter des attributs accessoires CD, CID pour désigner respectivement l’horodatage CD et l’identifiant CID de la personne ayant déclenché le traitement d’importation 100. Il est ainsi possible de connaître, par exemple à des fins d’audits, l’instant d’importation des données et la personne qui en a eu la charge. Un enregistrement CTwR1, CTwR2, CTwR3, …, CTwRk peut en outre comporter d’autres attributs, comme les attributs référencés CK, ED et EID exploités par le traitement 200. Ces derniers seront décrits ultérieurement en lien avec la . Les attributs que l’on peut qualifier de « désignation » comme UK, FN, RN, pour ne citer qu’eux, peuvent s’entendre comme une valeur, un index vers une table ou un conteneur de données d’indirection, un pointeur, une adresse non ambigüe ou tout autre moyen permettant de désigner un contenu, en l’espèce une archive unitaire, une archive élémentaire ou toute structure de données décrivant de telles archives ou contenus.In connection with figures 2 and 4, step 105 further consists in creating, in the data memory DMw, an associative container CTw, in the advantageous form of an associative table, comprising a record CTwR1, CTwR2, CTwR3, …, CTwRk associated with each record TwR1, TwR2, TwR3, …, TwRm of the current table Tw. Each record of said associative table CTw comprises a UK attribute to contain the unique key designating the record of the current table thus associated with it. Each record of said associative table CTw further comprises attributes FN, RN to respectively designate the flat file FFw-1 as well as the line of the latter from which the record of the current table Tw associated with it was initialized. The unique key UK1, UK2, UK3, UKm thus makes it possible to associate, via the associative table CTw, a line FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm of the file FFw-1 with a record TwR1, TwR2, TwR3, …, TwRm of the table Tw. Optionally and advantageously, each record CTwR1, CTwR2, CTwR3, …, CTwRk of the associative table CTw can include accessory attributes CD, CID to designate respectively the timestamp CD and the identifier CID of the person who triggered the import processing 100. It is thus possible to know, for example for audit purposes, the time of import of the data and the person who was responsible for it. A record CTwR1, CTwR2, CTwR3, …, CTwRk may also include other attributes, such as the referenced attributes CK, ED and EID used by the processing 200. These will be described later in connection with the . Attributes that can be described as a "designation" such as UK, FN, RN, to name a few, can be understood as a value, an index to a table or an indirection data container, a pointer, an unambiguous address or any other means of designating content, in this case a unit archive, an elementary archive or any data structure describing such archives or content.

Les figures 3A et 4A illustrent, au travers d’un exemple d’application concret et simplifié, la mise en œuvre d’un traitement d’importation 100 tel que décrit précédemment. Les données d’entrée sont stockées dans une unique archive unitaire sous la forme avantageuse d’un unique fichier plat FFi1 comportant deux informations décrivant des fournisseurs et correspondant à deux lignes (ou plus généralement deux archives élémentaires) au sein dudit fichier FFi1 (ou archive unitaire). Ces dernières comportent chacune quatre champs pour désigner respectivement un code fournisseur, le pays dudit fournisseur, le nom de la personne référente et une adresse postale. A l’issue de la mise en œuvre de l’étape 101, un fichier plat de travail FFw1-1 est créé à l’identique du fichier plat FFi1. Comme l’indique la , le fichier plat FFw1-1 comporte :

  • la ligne FFw1-1R1 qui correspond à un premier fournisseur français et comprend les champs « 00001 », « FR », « Dupond » et « 14 rue de l’océan » séparés deux à deux par le délimiteur « ; » ;
  • la ligne FFw1-1R2 qui comprend les champs « 00002 », « DE », « Meyer » et « Zentrale Straße » également séparés deux à deux par le délimiteur « ; ».
Figures 3A and 4A illustrate, through a concrete and simplified application example, the implementation of an import processing 100 as described above. The input data are stored in a single unit archive in the advantageous form of a single flat file FFi1 comprising two pieces of information describing suppliers and corresponding to two lines (or more generally two elementary archives) within said file FFi1 (or unit archive). The latter each comprise four fields to respectively designate a supplier code, the country of said supplier, the name of the reference person and a postal address. At the end of the implementation of step 101, a working flat file FFw1-1 is created identical to the flat file FFi1. As indicated in , the flat file FFw1-1 contains:
  • line FFw1-1R1 which corresponds to a first French supplier and includes the fields “00001”, “FR”, “Dupond” and “14 rue de l’océan” separated two by two by the delimiter “;”;
  • line FFw1-1R2 which includes the fields “00002”, “DE”, “Meyer” and “Zentrale Straße” also separated two by two by the delimiter “;”.

A l’issue de la mise en œuvre de l’étape 105, un conteneur de données sous la forme d’une table courante Tw1 est créé ainsi qu’un conteneur associatif CTw1 sous la forme avantageuse d’une table associative. Nous pouvons constater que ladite table courante Tw1 comporte deux enregistrements Tw1R1 et Tw1R2 comprenant chacun cinq attributs. Les quatre premiers attributs PID, PC, PN et PA correspondent respectivement aux champs d’une ligne (archive élémentaire) du fichier plat FFw1-1. Le cinquième attribut UK est agencé pour comporter une clé unique qui désigne sans ambiguïté l’information d’un fournisseur contenue dans l’enregistrement. Ainsi, la décrit une table courante Tw1 comprenant :

  • l'enregistrement Tw1R1 correspondant à la première ligne FFw1-1R1 du fichier plat FFw1-1 dont l’attribut PID comporte la valeur « 00001 », l’attribut PC comporte la valeur « FR », l’attribut PN comporte la valeur « Dupond » et l’attribut PA comporte la valeur « 14 rue de l’océan » ; ledit enregistrement comprend en outre l’attribut UK qui comporte la valeur unique « 12345678 » désignant de manière univoque l’information contenue dans ledit enregistrement Tw1R1 ;
  • l'enregistrement Tw1R2 correspondant à la deuxième ligne FFw1-1R2 du fichier plat FFw1-1 dont l’attribut PID comporte la valeur « 00002 », l’attribut PC comporte la valeur « DE », l’attribut PN comporte la valeur « Meyer » et l’attribut PA comporte la valeur « Zentrale Straße » ; ledit enregistrement comprend en outre l’attribut UK qui comporte la valeur unique « 98765432 » désignant de manière univoque l’information contenue dans ledit enregistrement Tw1R2.
At the end of the implementation of step 105, a data container in the form of a current table Tw1 is created as well as an associative container CTw1 in the advantageous form of an associative table. We can see that said current table Tw1 comprises two records Tw1R1 and Tw1R2 each comprising five attributes. The first four attributes PID, PC, PN and PA correspond respectively to the fields of a line (elementary archive) of the flat file FFw1-1. The fifth attribute UK is arranged to comprise a unique key which unambiguously designates the information of a supplier contained in the record. Thus, the describes a current table Tw1 comprising:
  • the Tw1R1 record corresponding to the first line FFw1-1R1 of the flat file FFw1-1 whose PID attribute contains the value “00001”, the PC attribute contains the value “FR”, the PN attribute contains the value “Dupond” and the PA attribute contains the value “14 rue de l'océan”; said record further comprises the UK attribute which contains the unique value “12345678” uniquely designating the information contained in said Tw1R1 record;
  • the Tw1R2 record corresponding to the second line FFw1-1R2 of the flat file FFw1-1 whose PID attribute has the value “00002”, the PC attribute has the value “DE”, the PN attribute has the value “Meyer” and the PA attribute has the value “Zentrale Straße”; said record further comprises the UK attribute which has the unique value “98765432” uniquely designating the information contained in said Tw1R2 record.

Précisons que si les archives FFi1 et/ou FFw1 sont constituées d’une façon telle que les champs PID sont naturellement uniques, alors les champs UK et PID pourraient être confondus dans la table TW1.Note that if the FFi1 and/or FFw1 archives are constructed in such a way that the PID fields are naturally unique, then the UK and PID fields could be confused in the TW1 table.

L’étape 105 a également engendré la création de la table associative CTw1. Celle-ci comporte deux enregistrements CTw1R1 et CTw1R2 respectivement associés aux enregistrements Tw1R1 et Tw1R2 de la table courante Tw1. En effet, l’enregistrement CTw1R1 comporte un premier attribut UK qui comprend la valeur unique « 12345678 » désignant de manière univoque l’archive élémentaire décrivant l’information de fournisseur contenue dans l’enregistrement Tw1R1. Ledit enregistrement CTw1R1 comprend en outre un attribut FN désignant le fichier plat FFw1-1 et un attribut RN désignant la ligne 1, soit la ligne FFw1-1R1 dudit fichier. A titre optionnel, ledit enregistrement CTw1R1 comporte un attribut CD pour mémoriser l’horodatage (jour et/ou heure) ts1 de la création dudit enregistrement, donc de l’importation des données, et un attribut CID pour désigner un identifiant U012 d’un utilisateur en charge de réaliser ladite importation.Step 105 also generated the creation of the associative table CTw1. This includes two records CTw1R1 and CTw1R2 respectively associated with the records Tw1R1 and Tw1R2 of the current table Tw1. Indeed, the record CTw1R1 includes a first attribute UK which includes the unique value “12345678” uniquely designating the elementary archive describing the supplier information contained in the record Tw1R1. Said record CTw1R1 further includes an attribute FN designating the flat file FFw1-1 and an attribute RN designating line 1, i.e. line FFw1-1R1 of said file. Optionally, said CTw1R1 record includes a CD attribute to store the timestamp (day and/or time) ts1 of the creation of said record, therefore of the import of the data, and a CID attribute to designate an identifier U012 of a user responsible for carrying out said import.

L’enregistrement CTw1R2 comporte quant à lui un premier attribut UK qui comprend la valeur unique « 98765432 » désignant de manière univoque l’archive élémentaire décrivant l’information de fournisseur contenue dans l’enregistrement Tw1R2 de la table courante Tw1. Ledit enregistrement CTw1R2 comprend en outre un attribut FN désignant le fichier plat FFw1-1 et un attribut RN désignant la ligne 2, soit la ligne FFw1-1R2 dudit fichier. A titre optionnel, ledit enregistrement CTw1R2 comporte un attribut CD pour mémoriser l’horodatage ts2 de la création dudit enregistrement, donc de l’importation des données, et un attribut CID pour désigner un identifiant U012 d’un utilisateur en charge de réaliser ladite importation.The CTw1R2 record includes a first UK attribute which includes the unique value “98765432” uniquely designating the elementary archive describing the supplier information contained in the Tw1R2 record of the current table Tw1. Said CTw1R2 record also includes an FN attribute designating the flat file FFw1-1 and an RN attribute designating line 2, i.e. line FFw1-1R2 of said file. Optionally, said CTw1R2 record includes a CD attribute to store the ts2 timestamp of the creation of said record, therefore of the import of the data, and a CID attribute to designate an identifier U012 of a user responsible for carrying out said import.

Nous pouvons constater que les attributs CK, ED et EID illustrés par la ne sont pas initialisés à ce stade de la mise en œuvre du procédé 10. En revanche, la table associative CTw1 assure clairement un lien entre les enregistrements de la table courante Tw1 et les lignes (archives élémentaires) du fichier plat FFw1-1 à partir desquelles lesdits enregistrements de la table Tw1 ont été initialisés. Ainsi, une forme de « triptyque » a été constitué entre une information contenue dans une archive unitaire (fichier plat FFw1-1), la même information contenue dans un conteneur de données (table courante Tw1) et un lien entre lesdites informations par le biais du conteneur associatif (table associative CTw1). Le fichier plat FFw1-1 est non modifiable, la table Tw1 est modifiable et la table associative CTW1 assure le lien entre les deux.We can see that the attributes CK, ED and EID illustrated by the are not initialized at this stage of the implementation of method 10. On the other hand, the associative table CTw1 clearly ensures a link between the records of the current table Tw1 and the lines (elementary archives) of the flat file FFw1-1 from which said records of the table Tw1 were initialized. Thus, a form of “triptych” has been constituted between information contained in a unitary archive (flat file FFw1-1), the same information contained in a data container (current table Tw1) and a link between said information by means of the associative container (associative table CTw1). The flat file FFw1-1 is non-modifiable, the table Tw1 is modifiable and the associative table CTW1 ensures the link between the two.

La illustre un exemple de description fonctionnelle d’un traitement 200 préalable à toute mise en œuvre subséquente de l’un des enregistrements d’une table courante Tw ou Tw1 créée par un traitement d’importation 100 tel que celui décrit en lien avec la et la ou 3A.There illustrates an example of a functional description of a processing 200 prior to any subsequent implementation of one of the records of a current table Tw or Tw1 created by an import processing 100 such as that described in connection with the and the or 3A.

Un tel traitement 200 est essentiel pour se conformer aux contraintes du RGPD ou de toute autre obligation visant à protéger les données personnelles par exemple. Il consiste principalement à chiffrer toute archive unitaire avec une clé de chiffrement/déchiffrement dédiée à chaque archive élémentaire de ladite archive unitaire. Une preuve de conservation des archives unitaires et élémentaires peut ainsi être garantie car toute archive élémentaire ultérieurement modifiée ne sera plus déchiffrable en utilisant ladite clé de chiffrement/déchiffrement originelle. La mise en œuvre d’un tel traitement 200 peut être automatiquement déclenchée en fin de mise en œuvre d’un traitement 100 d’importation ou, en variante, déclenchée à la suite d’une consigne d’un utilisateur du système mettant en œuvre un procédé selon l’invention. Selon un mode de réalisation alternatif, lesdits traitements successifs 100 et 200 pourraient ne constituer qu’un seul et même traitement déclenché à l’importation des données. Selon un autre mode de réalisation alternatif, le traitement 200 peut être lancé automatiquement, manuellement, sur un périmètre complet ou partiel, en une ou plusieurs fois.Such processing 200 is essential to comply with the constraints of the GDPR or any other obligation aimed at protecting personal data, for example. It mainly consists of encrypting any unitary archive with an encryption/decryption key dedicated to each elementary archive of said unitary archive. Proof of conservation of the unitary and elementary archives can thus be guaranteed because any elementary archive subsequently modified will no longer be decryptable using said original encryption/decryption key. The implementation of such processing 200 can be automatically triggered at the end of the implementation of an import processing 100 or, as a variant, triggered following an instruction from a user of the system implementing a method according to the invention. According to an alternative embodiment, said successive processing operations 100 and 200 could constitute only one and the same processing operation triggered upon import of the data. According to another alternative embodiment, the processing 200 can be launched automatically, manually, over a complete or partial perimeter, once or several times.

Un tel traitement 200 consiste tout d’abord en une étape 201 pour lire, dans la mémoire de données de travail DMw, un fichier plat FFw-1 associé éventuellement à un code de redondance H1 caractérisant ce dernier, si un tel code H1 a été conjointement enregistré dans ladite mémoire de travail DMw, par exemple à l’issue de la mise en œuvre d’un traitement d’importation 100. Ledit traitement 200 comporte une étape 203 de création, dans la mémoire de données DMw, d’autant de clés de chiffrement/déchiffrement qu’il existe de lignes dans le fichier plat FFw-1 qui a été créé conjointement avec une table courante Tw à l’issue de la mise en œuvre du traitement d’importation 100. De telles clés de chiffrement/déchiffrement peuvent être créées selon toute technique connue. Elle peuvent par exemple être dérivées depuis une clé mère commune ou allouée par archive unitaire. Une telle dérivation peut être réalisée à partir de ladite clé mère et d’une graine aléatoire ou pseudoaléatoire. La longueur, par exemple égale à 128 ou 256 bits, desdites clés de chiffrement/déchiffrement est déterminée en fonction de l’algorithme de chiffrement/déchiffrement choisi. Un tel algorithme de chiffrement/déchiffrement peut être choisi parmi une multitude d’algorithmes de chiffrement symétrique connus tels que, de manière non limitative, le DES, Triple DES, l’AES, Twofish, Rrindjael, Blowfish, Serpent, RC6 ou Mars. Toutefois, l’invention ne serait être limitée par ces choix d’algorithmes.Such processing 200 firstly consists of a step 201 for reading, in the working data memory DMw, a flat file FFw-1 possibly associated with a redundancy code H1 characterizing the latter, if such a code H1 has been jointly recorded in said working memory DMw, for example at the end of the implementation of an import processing 100. Said processing 200 comprises a step 203 for creating, in the data memory DMw, as many encryption/decryption keys that there are lines in the flat file FFw-1 that was created jointly with a current table Tw at the end of the implementation of the import processing 100. Such encryption/decryption keys can be created using any known technique. They can for example be derived from a common mother key or allocated by unit archive. Such a derivation can be carried out from said mother key and a random or pseudo-random seed. The length, for example equal to 128 or 256 bits, of said encryption/decryption keys is determined according to the chosen encryption/decryption algorithm. Such an encryption/decryption algorithm can be chosen from a multitude of known symmetric encryption algorithms such as, but not limited to, DES, Triple DES, AES, Twofish, Rrindjael, Blowfish, Serpent, RC6 or Mars. However, the invention would not be limited by these choices of algorithms.

Les clés de chiffrement/déchiffrement utilisées pour les archives unitaires présentent également quelques avantages complémentaires. La sécurité des systèmes d’information est assurée en partie grâce aux chiffrements. Les chiffrements se font en général au niveau d’une archive unitaire (fichier). Or, les modèles de données des applications de gestion les plus utilisés sont connus. Par exemple, une table dans le logiciel SAP commence par un champ à trois chiffres, quasiment toujours identique, suivi d’un numéro d’organisation d’achat, suivi d’un numéro de commande dont le format commence quasi systématiquement par 450000. De telles similitudes dans les archives élémentaires et la grande quantité d’archives élémentaires dans une archive unitaire favorisent grandement la possibilité de déchiffrement par un tiers non autorisé. Le chiffrement de chaque archive élémentaire (qui peut être réalisé en complément des chiffrements classiques), rend le chiffrement plus sûr en ce sens qu’il porte sur moins de données. Le type de chiffrement n’a donc pas nécessairement à être très fort, puisqu’il existera des millions de clés différentes. Un chiffrage faible est également d’implémentation plus simple en termes de temps de traitement.The encryption/decryption keys used for unit archives also have some additional advantages. The security of information systems is ensured in part by encryption. Encryption is generally done at the level of a unit archive (file). However, the data models of the most widely used management applications are known. For example, a table in SAP software begins with a three-digit field, almost always identical, followed by a purchasing organization number, followed by an order number whose format almost systematically begins with 450000. Such similarities in elementary archives and the large quantity of elementary archives in a unit archive greatly promote the possibility of decryption by an unauthorized third party. The encryption of each elementary archive (which can be done in addition to classic encryption) makes the encryption more secure in the sense that it concerns less data. The type of encryption therefore does not necessarily have to be very strong, since there will be millions of different keys. Low encryption is also simpler to implement in terms of processing time.

L’invention est décrite au travers d’une exploitation préférée d’algorithmes de chiffrement symétrique. Ainsi, une même clé peut être utilisée pour chiffrer et déchiffrer un contenu. En variante, l’invention pourrait exploiter un système de chiffrement/déchiffrement asymétrique notamment si la conservation des archives chiffrées et des clés doivent être détenues par des entreprises différentes.The invention is described through a preferred exploitation of symmetric encryption algorithms. Thus, the same key can be used to encrypt and decrypt content. Alternatively, the invention could exploit an asymmetric encryption/decryption system, especially if the storage of the encrypted archives and the keys must be held by different companies.

Les clés de chiffrement/déchiffrement sont exploitées par ladite étape 203 pour créer un nouveau fichier plat FFw-2 à partir dudit fichier plat FFw-1. Selon l’invention, chaque champ d’une même ligne dudit nouveau fichier plat FFw-2 résulte d’une opération de chiffrement du champ correspondant de la même ligne dudit fichier plat FFw-1 par l’une desdites clés de chiffrement/déchiffrement . Ainsi, le nouveau fichier plat FFw-2 est en quelque sorte une copie chiffrée, ligne par ligne - c’est-à-dire archive élémentaire par archive élémentaire, de l’archive unitaire sous la forme du fichier plat FFw-1, les attributs de chaque ligne ayant tous été chiffrés par l’une desdites clés de chiffrement/déchiffrement . L’invention prévoit que lesdites lignes ou archives élémentaires soient respectivement chiffrées par des clés différentes.Encryption/decryption keys are used by said step 203 to create a new flat file FFw-2 from said flat file FFw-1. According to the invention, each field of the same line of said new flat file FFw-2 results from an encryption operation of the corresponding field of the same line of said flat file FFw-1 by one of said encryption/decryption keys . Thus, the new flat file FFw-2 is in some way an encrypted copy, line by line - that is to say elementary archive by elementary archive - of the unitary archive in the form of the flat file FFw-1, the attributes of each line having all been encrypted by one of the said encryption/decryption keys. The invention provides that said elementary lines or archives are respectively encrypted by keys different.

L’invention prévoit de nombreuses alternatives : chiffrer l’ensemble d’une archive élémentaire à l’aide d’une clé , ou chiffer les champs d’une telle archive élémentaires respectivement par des clés différentes ou dérivées, voire toute autre combinaison. Il est aussi possible de réutiliser les clés de chiffrement/déchiffrement identiques pour des archives unitaires différentes. Rappelons que la logique de l’invention est de créer une nouvelle archive unitaire chiffrée chaînée à une archive unitaire initiale et qui viendra en remplacement de cette dernière. Cette nouvelle archive unitaire chiffrée pourra, sans jamais être modifiée, perdre l’information concernant une archive élémentaire, sans modification, par la perte de la connaissance de la clé de chiffrement/déchiffrement associée permettant le déchiffrement de l’archive élémentaire.The invention provides for many alternatives: encrypting an entire elementary archive using a key , or encrypt the fields of such an elementary archive respectively by different or derived keys, or any other combination. It is also possible to reuse the encryption/decryption keys identical for different unit archives. Let us recall that the logic of the invention is to create a new encrypted unit archive chained to an initial unit archive and which will replace the latter. This new encrypted unit archive may, without ever being modified, lose the information concerning an elementary archive, without modification, by the loss of knowledge of the encryption/decryption key associated with the decryption of the elementary archive.

Pour chaque ligne ainsi chiffrée, ladite étape 203 consiste en outre à mettre à jour un attribut CK, dans l’enregistrement CTwR1, … CTwRk de la table associative CTw qui désigne la ligne qui a été chiffrée du fichier FFw-1, de sorte que ledit attribut CK désigne la clé de chiffrement/déchiffrement utilisée pour chiffrer les champs de ladite ligne dudit fichier plat FFw-1 pour créer la ligne chiffrée du nouveau fichier plat FFw-2. Un tel attribut CK peut comporter la clé de chiffrement/déchiffrement en tant que telle ou toute valeur, éventuellement plurielle, nécessaire à la désignation ou la génération de ladite clé de chiffrement/déchiffrement . L’invention prévoit, à ce stade, différentes variantes pour lier l’enregistrement correspondant à la ligne du fichier plat FFw-1 à la ligne chiffrée du nouveau fichier plat FFw-2 ainsi constitué. Selon une première variante, les fichiers plats FFw-1 et FFw-2 partagent un radical de nommage commun, seule une extension permettant de distinguer la version claire de la version chiffrée. Alternativement, l’enregistrement de la table associative CTw peut comporter un attribut supplémentaire pour désigner le nouveau fichier plat FFw-2 ainsi nouvellement créé. Dans ce cas, les deux fichiers peuvent ne pas suivre une règle de nommage imposée.For each line thus encrypted, said step 203 further consists in updating an attribute CK, in the record CTwR1, … CTwRk of the associative table CTw which designates the line which has been encrypted of the file FFw-1, so that said attribute CK designates the encryption/decryption key used to encrypt the fields of said line of said flat file FFw-1 to create the encrypted line of the new flat file FFw-2. Such a CK attribute may include the encryption/decryption key as such or any value, possibly plural, necessary for the designation or generation of said encryption/decryption key . The invention provides, at this stage, different variants for linking the record corresponding to the line of the flat file FFw-1 to the encrypted line of the new flat file FFw-2 thus created. According to a first variant, the flat files FFw-1 and FFw-2 share a common naming radical, only an extension making it possible to distinguish the clear version from the encrypted version. Alternatively, the record of the associative table CTw may include an additional attribute to designate the new flat file FFw-2 thus newly created. In this case, the two files may not follow an imposed naming rule.

Quelle que soit la technique choisie, à l’issue de la mise en œuvre de l’étape 203, ladite table associative CTw lie, directement ou indirectement :

  • une clé de chiffrement/déchiffrement choisie parmi l’ensemble qui a été utilisée pour chiffrer une archive élémentaire de l’archive unitaire claire FFw-1 (en l’espèce une ligne d’un fichier plat selon l’exemple illustré par les figures 3 et 4),
  • ladite archive élémentaire de ladite archive unitaire FFw-1,
  • l’archive élémentaire au sein de la version chiffrée FFw-2 de ladite archive unitaire FFw-1 et,
  • l’enregistrement du conteneur de données Tw (en l’espèce un enregistrement d’une table courante) selon l’exemple illustré par les figures 3 et 4) initialisé à partir de ladite archive élémentaire de l’archive unitaire claire FFw-1 lors du traitement d’importation 100.
Whatever the technique chosen, at the end of the implementation of step 203, said associative table CTw links, directly or indirectly:
  • an encryption/decryption key chosen from the set which was used to encrypt an elementary archive of the clear unit archive FFw-1 (in this case a line of a flat file according to the example illustrated by figures 3 and 4),
  • said elementary archive of said unitary archive FFw-1,
  • the elementary archive within the encrypted version FFw-2 of said unitary archive FFw-1 and,
  • the recording of the data container Tw (in this case a recording of a current table) according to the example illustrated by figures 3 and 4) initialized from said elementary archive of the clear unitary archive FFw-1 during the import processing 100.

Comme l’indique la figure 4, l’enregistrement de la table associative ainsi mise à jour pour désigner la clé de chiffrement/déchiffrement exploitée peut en outre comporter un attribut complémentaire ED pour enregistrer un horodatage dudit chiffrement et un attribut complémentaire EID pour stocker un identifiant de la personne en charge du déclenchement dudit processus de création de l’archive unitaire FFw-2 sous la forme d’un fichier plat.As shown in Figure 4, the associative table record thus updated to designate the encryption/decryption key exploited may further include an additional ED attribute for recording a timestamp of said encryption and an additional EID attribute for storing an identifier of the person responsible for triggering said process of creating the FFw-2 unitary archive in the form of a flat file.

Un traitement 200 comporte en outre une étape 206 de suppression de l’archive unitaire claire FFw-1 dans la première mémoire de données DMw. Seule prospère la version chiffrée FFw-2 de celle-ci à l’issue de la mise en œuvre dudit traitement 200. La version chiffrée FFw-2 n’a de sens que si la suppression de l’archive unitaire claire est réalisée.A processing 200 further comprises a step 206 of deleting the clear unit archive FFw-1 in the first data memory DMw. Only the encrypted version FFw-2 thereof prospers at the end of the implementation of said processing 200. The encrypted version FFw-2 only makes sense if the deletion of the clear unit archive is carried out.

Une mise en œuvre d’un tel traitement 200 est illustrée par la au travers de l’exemple simplifié des données dont l’importation 100 a été précédemment décrite en lien avec les figures 3A et 4A.An implementation of such processing 200 is illustrated by the through the simplified example of the data whose import 100 was previously described in connection with figures 3A and 4A.

Ladite présente ainsi une table Tw1 identique à celle décrite en lien avec la . En effet, le traitement 200 ne modifie pas ladite table courante Tw1. En revanche, ladite illustre, à l’issue de la mise en œuvre du traitement 200, la suppression du fichier FFw1-1 dans la mémoire de donnée DMw. Cette suppression est symbolisée par la barre oblique barrant la représentation graphique dudit fichier plat FFw1-1. Ladite décrit également la création du fichier plat FFw1-2 qui correspond à la copie chiffrée dudit fichier plat FFw1-1. On retrouve ainsi dans les lignes FFw1-2R1 et FFw1-2R2 dudit fichier FFw1-2, les quatre champs chiffrés décrivant des fournisseurs. Nous pouvons également constater que la clé de chiffrement/déchiffrement CK1 a été exploitée pour chiffrer la ligne FFw1-2R1 et que la clé CK2 a été exploitée pour chiffrer la ligne FFw1-2R2.The said thus presents a Tw1 table identical to that described in connection with the . Indeed, processing 200 does not modify said current table Tw1. On the other hand, said illustrates, at the end of the implementation of the processing 200, the deletion of the file FFw1-1 in the data memory DMw. This deletion is symbolized by the slash crossing the graphic representation of said flat file FFw1-1. Said also describes the creation of the flat file FFw1-2 which corresponds to the encrypted copy of said flat file FFw1-1. We thus find in lines FFw1-2R1 and FFw1-2R2 of said file FFw1-2, the four encrypted fields describing suppliers. We can also see that the encryption/decryption key CK1 was used to encrypt line FFw1-2R1 and that key CK2 was used to encrypt line FFw1-2R2.

Cette exploitation desdites clés CK1 et CK2 se traduit par la mise à jour de la table associative CTw1. Ainsi, l’enregistrement CTw1R1 associé à la première ligne des fichiers FFw-1 et FFw-2 est modifié de sorte que l’attribut CK désigne la clé de chiffrement/déchiffrement exploitée, en l’espèce la clé CK1. A titre optionnel, ledit l’enregistrement CTw1R1 est également mis à jour pour horodater le chiffrement du fichier plat FFw1-1 et mémoriser l’identifiant de l’opérateur ayant déclenché ledit chiffrement. Ainsi, l’attribut ED comporte l’horodatage ts3 et l’attribut EID comporte l’identifiant U020.This exploitation of said keys CK1 and CK2 results in the updating of the associative table CTw1. Thus, the CTw1R1 record associated with the first line of the FFw-1 and FFw-2 files is modified so that the CK attribute designates the encryption/decryption key exploited, in this case the CK1 key. Optionally, said CTw1R1 record is also updated to timestamp the encryption of the flat file FFw1-1 and store the identifier of the operator who triggered said encryption. Thus, the ED attribute includes the ts3 timestamp and the EID attribute includes the U020 identifier.

L’enregistrement CTw1R2, associé quant à lui à la deuxième ligne des fichiers FFw1-1 et FFw1-2, est modifié de sorte que l’attribut CK désigne la clé de chiffrement/déchiffrement exploitée, en l’espèce la clé CK2. A titre optionnel, ledit enregistrement CTw1R2 est également mis à jour pour horodater le chiffrement de la deuxième ligne du fichier plat FFw1-1 et mémoriser l’identifiant de l’opérateur ayant déclenché ledit chiffrement. Ainsi, l’attribut ED comporte l’horodatage ts4 et l’attribut EID comporte l’identifiant U020.The CTw1R2 record, associated with the second line of the FFw1-1 and FFw1-2 files, is modified so that the CK attribute designates the encryption/decryption key used, in this case the CK2 key. Optionally, said CTw1R2 record is also updated to timestamp the encryption of the second line of the FFw1-1 flat file and to store the identifier of the operator who triggered said encryption. Thus, the ED attribute includes the ts4 timestamp and the EID attribute includes the U020 identifier.

La illustre en outre un exemple de traitement 200 préalable à toute modification ou suppression d’une archive élémentaire au sein d’un conteneur de données Tw (par exemple une table courante), comportant une étape optionnelle de vérification de la pertinence de l’archive unitaire chiffrée FFw-2 au regard de l’archive unitaire claire FFw-1, ces dernières pouvant se présenter sous une forme avantageuse de fichiers plats. En effet, l’archive unitaire claire FFw-1 ayant vocation à être supprimée à l’issue de la mise en œuvre de l’étape 206, il peut être avantageux de s’assurer que le processus de chiffrement 203 s’est correctement déroulé.There further illustrates an example of processing 200 prior to any modification or deletion of an elementary archive within a data container Tw (for example a current table), comprising an optional step of verifying the relevance of the encrypted unitary archive FFw-2 with respect to the clear unitary archive FFw-1, the latter being able to be presented in an advantageous form of flat files. Indeed, since the clear unitary archive FFw-1 is intended to be deleted at the end of the implementation of step 206, it may be advantageous to ensure that the encryption process 203 has been carried out correctly.

A titre d’exemple de réalisation préférée, une telle vérification peut consister en une première étape itérative de déchiffrement 204 des champs de chaque ligne du fichier plat chiffré FFw-2 (créé à l’étape 203) à l’aide de la clé de chiffrement/déchiffrement désignée dans l’enregistrement qui est associé à ladite ligne dans la table associative CTw et de création d’une ligne de champs clairs dans un nouveau fichier plat FFw-2’. A l’issue de la création d’une version déchiffrée FFw-2’ dudit fichier plat chiffré FFw-2, une étape 205 d’évaluation de la conformité dudit nouveau fichier plat déchiffré FFw-2’ au regard du fichier plat clair initial FFw-1 est mise en œuvre. L’invention prévoit alors qu’avantageusement, l’étape 206 n’est mise en œuvre que si le test de conformité 205 est positif (situation symbolisée par le lien 205-y sur la ). L’étape 206 peut inclure la constitution d’une « trace » pour prouver que le test 205 a été réalisé avec succès. Cette trace peut se traduire par une conservation d’un code de redondance ou un haché du fichier déchiffré FFw-2’ dans une table de l’application mettant en œuvre un procédé de gestion de données 10 selon l’invention. En revanche, si ledit test 205 échoue (situation symbolisée par le lien 205-n sur la ), le fichier plat clair FFw-2’ et le fichier plat chiffré FFw-2 sont supprimés de la mémoire de données DMw. L’étape de création 203 d’une archive unitaire chiffrée FFw-2, sous la forme avantageuse d’un fichier plat, est alors de nouveau mise en œuvre et soumise à l’approbation d’une nouvelle vérification de conformité 204-205. Nous pouvons noter que l’archive unitaire claire FFw-2’ est supprimée dans la mémoire de données DMw, quel que soit le « verdict » 205-y ou 205-n du test de conformité 205 précédemment évoqué.As an example of a preferred embodiment, such verification may consist of a first iterative step of decrypting 204 the fields of each line of the encrypted flat file FFw-2 (created in step 203) using the encryption/decryption key designated in the record that is associated with said line in the associative table CTw and of creating a line of clear fields in a new flat file FFw-2'. At the end of the creation of a decrypted version FFw-2' of said encrypted flat file FFw-2, a step 205 of evaluating the conformity of said new decrypted flat file FFw-2' with respect to the initial clear flat file FFw-1 is implemented. The invention then provides that advantageously, step 206 is only implemented if the conformity test 205 is positive (situation symbolized by the link 205-y on the ). Step 206 may include the creation of a "trace" to prove that test 205 was successfully performed. This trace may result in the retention of a redundancy code or a hash of the decrypted file FFw-2' in a table of the application implementing a data management method 10 according to the invention. On the other hand, if said test 205 fails (situation symbolized by link 205-n on the ), the clear flat file FFw-2' and the encrypted flat file FFw-2 are deleted from the data memory DMw. The step 203 of creating an encrypted unit archive FFw-2, in the advantageous form of a flat file, is then implemented again and submitted to the approval of a new conformity check 204-205. We can note that the clear unit archive FFw-2' is deleted in the data memory DMw, whatever the "verdict" 205-y or 205-n of the conformity test 205 previously mentioned.

A titre d’exemple de réalisation avantageux, l’étape 205 d’évaluation de la conformité d’un nouveau fichier plat déchiffré FFw-2’ au regard d’un fichier plat clair initial FFw-1 peut consister en la comparaison de codes de redondances H1, H2’ respectivement et préalablement calculés à partir desdits fichiers plats FFw-1 et FFw-2’. De tels codes de redondances peuvent par exemple résulter d’une mise en œuvre d’une fonction cryptographique de hachage. Un haché est le résultat d’un calcul appliqué à l’archive unitaire, d’une taille très inférieure à celle de ladite archive unitaire, et dont le calcul a la particularité qu’un changement mineur dans l’archive unitaire (par exemple la modification d’un caractère), entraîne un changement important de la valeur dudit haché. En conséquence seuls deux hachés identiques témoignent que leurs calculs respectifs ont porté sur deux fichiers identiques.As an advantageous example of an embodiment, step 205 of evaluating the conformity of a new decrypted flat file FFw-2’ with respect to an initial clear flat file FFw-1 may consist of comparing redundancy codes H1, H2’ respectively and previously calculated from said flat files FFw-1 and FFw-2’. Such redundancy codes may for example result from an implementation of a cryptographic hash function. A hash is the result of a calculation applied to the unit archive, of a size much smaller than that of said unit archive, and the calculation of which has the particularity that a minor change in the unit archive (for example the modification of a character), results in a significant change in the value of said hash. Consequently, only two identical hashes testify that their respective calculations were carried out on two identical files.

La présente en outre un exemple avantageux pour lequel la création 203 d’une archive unitaire chiffrée FFw-2 et la suppression 206 de l’archivage unitaire initial FFw-1 ne sont mises en œuvre que si (situation illustrée par le lien 202-y dans la ) les données contenues dans lesdites archives unitaires comportent des données concernées par des obligations contradictoires de conservation et de mise à jour, comme ce peut être le cas de données personnelles au regard du RGPD par exemple. Selon cet exemple avantageux, un traitement 200 peut comporter avantageusement un test 202 visant à conditionner les mises en œuvre desdites étapes 203 à 206 (situations illustrées dans la respectivement par le lien 202-y, dans l’affirmative, et par le lien 202-n, dans la négative). Un tel test 202 peut consister en la lecture d’une méta-information contenue dans l’archive unitaire FFw-1 (héritée éventuellement de l’archive unitaire d’entrée FFi ou créée par la mise en œuvre d’un traitement d’importation 100 idoine) et qui caractérise de telles obligations. Un tel test 202 pourrait également mettre en œuvre toute autre analyse portant sur le type des données contenues dans une telle archive unitaire FFw-1. De façon alternative ou complémentaire, c’est le processus 200 tout entier qui pourrait être mis en œuvre préalablement à un traitement 300 sur le seul périmètre concerné par le traitement 200 considéré. Dans les deux cas, le traitement 200 pourra s’appliquer à toutes les données d’un conteneur de données (une ou plusieurs archives unitaire) ou à une partie uniquement de ces archives unitaires.There further presents an advantageous example for which the creation 203 of an encrypted unitary archive FFw-2 and the deletion 206 of the initial unitary archive FFw-1 are only implemented if (situation illustrated by the link 202-y in the ) the data contained in said unitary archives include data concerned by conflicting obligations of conservation and updating, as may be the case for personal data with regard to the GDPR for example. According to this advantageous example, a processing 200 may advantageously include a test 202 aimed at conditioning the implementations of said steps 203 to 206 (situations illustrated in the respectively by link 202-y, in the affirmative, and by link 202-n, in the negative). Such a test 202 may consist of reading meta-information contained in the unitary archive FFw-1 (possibly inherited from the input unitary archive FFi or created by implementing a suitable import processing 100) and which characterizes such obligations. Such a test 202 could also implement any other analysis relating to the type of data contained in such a unitary archive FFw-1. Alternatively or additionally, it is the entire process 200 which could be implemented prior to a processing 300 on the sole scope concerned by the processing 200 considered. In both cases, the processing 200 may apply to all the data of a data container (one or more unitary archives) or to only part of these unitary archives.

L’étape 202 peut également constituer un processus de retraitement des archives unitaires en deux catégories d’archives unitaires : d’une part des archives unitaire pour lesquelles aucun enregistrement n’est soumis à des contraintes de destruction/modification, et d’autre part des archives unitaires pour lesquelles chaque enregistrement est soumis à de telles contraintes.Step 202 may also constitute a process of reprocessing the unit archives into two categories of unit archives: on the one hand, unit archives for which no record is subject to destruction/modification constraints, and on the other hand, unit archives for which each record is subject to such constraints.

L’invention a été décrite selon un exemple de réalisation préféré, selon lequel un conteneur associatif CTw, sous la forme avantageuse d’une table associative, est créé dans la première mémoire de données DMw, avec un conteneur de données Tw, sous la forme avantageuse d’une table courante, en une même étape 105 d’un traitement d’importation 100. En variante, l’invention prévoit que la création d’un tel conteneur associatif CTw puisse être créé de manière dissociée de la création d’un conteneur de données Tw. Il suffit qu’une telle étape de création d’un conteneur associatif CTw soit mise en œuvre préalablement à la mise en œuvre de l’étape 203 décrite précédemment. Dans ce cas, une telle étape de création d’un conteneur associatif CTw peut faire partie d’un traitement 200 préalable à toute mise en œuvre subséquente de l’un des enregistrements d’une table courante Tw.The invention has been described according to a preferred exemplary embodiment, according to which an associative container CTw, in the advantageous form of an associative table, is created in the first data memory DMw, with a data container Tw, in the advantageous form of a current table, in the same step 105 of an import processing 100. As a variant, the invention provides that the creation of such an associative container CTw can be created separately from the creation of a data container Tw. It suffices that such a step of creating an associative container CTw be implemented prior to the implementation of the step 203 described above. In this case, such a step of creating an associative container CTw can be part of a processing 200 prior to any subsequent implementation of one of the records of a current table Tw.

Comme l’indique la , un procédé de gestion de données 10 conforme à l’invention peut comporter en outre un traitement 300 de mise à jour des données gérées. La illustre un tel traitement 300 en réponse à une consigne (référencée USP en ) de modification du contenu d’un conteneur de données Tw émanant d’une consigne d’un utilisateur ou d’une règle de gestion, appliquée via une interface ou un algorithme. La consigne USP, réceptionnée ou détectée en une étape 310, s’applique à l’archive élémentaire et à son équivalent dans le conteneur de données Tw mais elle ne peut, rappelons-le, s’appliquer à l’archive unitaire en tant que telle. Selon que ladite consigne USP concerne une suppression d’une archive élémentaire ou d’une mise à jour, le traitement 300 se subdivise en deux principaux sous-traitements référencés 300-D et 300-U sur la .As indicated by the , a data management method 10 according to the invention may further comprise a processing 300 for updating the managed data. The illustrates such treatment 300 in response to an instruction (referenced USP in ) of modification of the content of a data container Tw emanating from a user instruction or a management rule, applied via an interface or an algorithm. The USP instruction, received or detected in a step 310, applies to the elementary archive and its equivalent in the data container Tw but it cannot, let us recall, apply to the unitary archive as such. Depending on whether said USP instruction concerns a deletion of an elementary archive or an update, the processing 300 is subdivided into two main sub-processes referenced 300-D and 300-U on the .

Lorsque que ledit traitement de mise à jour 300 consiste en la traduction 310 d’une consigne de suppression (situation illustrée par le lien 310-D sur la figure 7) d’un enregistrement d’un conteneur de données Tw (par exemple, sous la forme avantageuse d’une table courante) décrivant une archive élémentaire, ledit traitement 300 consiste en le sous-traitement 300-D. Celui-ci comporte une étape 321 de suppression dudit enregistrement objet de ladite consigne USP en suppression dans ledit conteneur de données Tw, et d’effacement de l’attribut CK désignant la clé de chiffrement/déchiffrement dans l’enregistrement du conteneur associatif CTw (par exemple, sous la forme avantageuse d’une table associative) correspondant à l’enregistrement supprimé dans le conteneur de données Tw. Ainsi, supprimer des archives élémentaires d’une même archive unitaire en perdant la connaissance des clés de chiffrement/déchiffrement respectivement associées auxdites archives élémentaires, permet de ne pas modifier l’archive unitaire et répond ainsi aux besoins contradictoires de conservation et de mise à jour de telles archives. Lorsque les données concernées par une telle requête USP en suppression portent sur des données de désignation d’un document de travail Dw, ladite étape 321 peut en outre détruire ou effacer dans la mémoire de travail ledit document Dw désigné par lesdites données de désignation.When said update processing 300 consists of the translation 310 of a deletion instruction (situation illustrated by the link 310-D in FIG. 7) of a record of a data container Tw (for example, in the advantageous form of a current table) describing an elementary archive, said processing 300 consists of the subprocessing 300-D. This comprises a step 321 of deleting said record subject to said deletion instruction USP in said data container Tw, and of erasing the attribute CK designating the encryption/decryption key in the record of the associative container CTw (for example, in the advantageous form of an associative table) corresponding to the deleted record in the data container Tw. Thus, deleting elementary archives from the same unitary archive while losing knowledge of the encryption/decryption keys respectively associated with said elementary archives, makes it possible not to modify the unitary archive and thus meets the contradictory needs of conservation and updating of such archives. When the data concerned by such a USP request for deletion relate to designation data of a working document Dw, said step 321 can further destroy or erase in the working memory said document Dw designated by said designation data.

Une mise en œuvre d’un tel sous-traitement 300-D est illustrée par la au travers de l’exemple simplifié des données dont l’importation 100 a été précédemment décrite en lien avec les figures 3A et 4A et dont le traitement préalable 200 a été décrit en lien avec la .An implementation of such 300-D subprocessing is illustrated by the through the simplified example of data whose import 100 was previously described in connection with figures 3A and 4A and whose prior processing 200 was described in connection with the .

Ladite présente un conteneur de données Tw1 identique à la table Tw1 illustrée par la , exception faite de l’enregistrement Tw1R1 qui a fait l’objet d’une consigne USP en suppression. Les attributs PID, PC, PN, PA et UK de celle-ci apparaissent vierges sur la . Nous pouvons constater que le fichier plat (archive unitaire) FFw1-2 demeure inchangé à l’issue du traitement 300, 300-D. Il conserve donc un statut d’archive fiscale et peut servir de base à une présentation de données à des organismes de contrôles coercitifs. Ladite présente en outre un conteneur associatif CTw1 similaire à la table associative CTw1 d’ores et déjà décrite en lien avec la . Toutefois, à l’issue de la mise en œuvre du sous-traitement 300-D, l’enregistrement CTw1R1 dudit conteneur associatif CTw1 (c’est-à-dire l’enregistrement qui est associé à l’enregistrement Tw1R1 supprimé puisque les deux enregistrements CTw1R1 et Tw1R1 - avant la suppression de l’enregistrement Tw1R1 - comportent des attributs CK de valeurs « 12345678 » identiques) a été modifié. Cette modification porte sur l’attribut CTw1R1A2 (qui apparaît ceinturée par une ligne discontinue sur la ) qui désignait jusqu’alors la clé de chiffrement/déchiffrement CK1 (cf. ). Ledit attribut CTw1R1A2 est à présent effacé. Ainsi, bien que le fichier FFw1-2 soit conservé en l’état, il n’est plus possible d’accéder – via la table associative CTw1 - à l’information claire en lien avec la ligne FFw1-2R1 de ce dernier puisque l’enregistrement CTw1R1 ne désigne plus la clé de chiffrement/déchiffrement nécessaire au déchiffrement de ladite ligne FFw1-2R1.The said presents a data container Tw1 identical to the table Tw1 illustrated by the , except for the Tw1R1 record which has been subject to a USP deletion order. The PID, PC, PN, PA and UK attributes of this record appear blank on the . We can see that the flat file (unitary archive) FFw1-2 remains unchanged at the end of processing 300, 300-D. It therefore retains the status of a tax archive and can serve as a basis for presenting data to coercive control bodies. The said further presents an associative container CTw1 similar to the associative table CTw1 already described in connection with the . However, following the implementation of subprocessing 300-D, the CTw1R1 record of said associative container CTw1 (i.e. the record that is associated with the deleted Tw1R1 record since both CTw1R1 and Tw1R1 records - before the deletion of the Tw1R1 record - have identical CK attributes with values of "12345678") has been modified. This modification concerns the CTw1R1A2 attribute (which appears surrounded by a broken line on the ) which until then designated the encryption/decryption key CK1 (cf. ). The said CTw1R1A2 attribute is now deleted. Thus, although the FFw1-2 file is kept as is, it is no longer possible to access – via the CTw1 associative table – the clear information relating to the FFw1-2R1 line of the latter since the CTw1R1 record no longer designates the encryption/decryption key necessary for decrypting the said FFw1-2R1 line.

La décrit en outre un sous-traitement 300-U (du traitement 300) déclenché à la suite de la réception d’une consigne USP en modification de tout ou partie d’un enregistrement d’un conteneur de données Tw traduisant une archive élémentaire. Une telle consigne USP peut consister par exemple en la modification de la valeur contenue par un attribut ou en l’effacement d’un tel attribut.There further describes a subprocess 300-U (of the processing 300) triggered following the receipt of a USP instruction to modify all or part of a record of a data container Tw translating an elementary archive. Such a USP instruction may consist, for example, of modifying the value contained by an attribute or of deleting such an attribute.

Un tel sous-traitement 300-U comporte une étape 331 de mise à jour de l’enregistrement dans le conteneur de données Tw (par exemple sous la forme avantageuse d’une table courante) qui est l’objet de ladite consigne en modification USP, pour modifier ou effacer la valeur contenue dans un ou plusieurs attributs de celui-ci.Such subprocessing 300-U includes a step 331 of updating the record in the data container Tw (for example in the advantageous form of a current table) which is the subject of said modification instruction USP, to modify or delete the value contained in one or more attributes thereof.

Ledit sous-traitement 300-U comporte alors une étape de création 332 d’une nouvelle clé de chiffrement/déchiffrement, complétant ainsi l’ensemble précédemment constitué notamment à l’issue du traitement 200. Ladite étape 332 consiste en outre en la création d’une nouvelle archive unitaire, en l’espèce un nouveau fichier plat, FFw-3 dont une ligne (archive élémentaire) correspond à l’enregistrement de la table courante Tw dont au moins un attribut a été modifié à l’étape 331. Chaque champ de la ligne créée au sein du nouveau fichier plat FFw-3 correspond à chaque attribut (exception faite de l’attribut UK) dudit enregistrement modifié, la valeur de chacun desdits attributs étant chiffrée par la nouvelle clé de chiffrement/déchiffrement créée. Si une archive unitaire FFw-3 existe déjà, et peut être complétée, alors l’étape 332 consiste en l’ajout d’une archive élémentaire à l’archive unitaire existante (par exemple jusqu’à l’obtention d’un nombre de lignes et ou d’un volume prédéfini). Il peut sembler surprenant de s’autoriser ainsi à modifier une archive unitaire alors que l’invention vise à ne pas modifier les archives unitaires. En fait, une telle archive ayant été constituée par l’application mettant en œuvre un procédé de gestion de données 10 selon l’invention, les requêtes formulées par des contrôles coercitifs ne nécessitent pas l’utilisation d’une archive fiscale. Cette archive fiscale ne serait requise que si l’application mettant en œuvre un procédé de gestion de données 10 selon l’invention venait à être décommissionnée. En conséquence, la création de FFw-3 n’est réellement requis qu’au décommissionnement de l’application mettant en œuvre un procédé de gestion de données 10 selon l’invention. Le stockage des informations sous la forme d’une « archive fiscale » FFw-3 simplifie le développement de l’application mettant en œuvre un procédé de gestion de données 10 selon l’invention dans la mesure où la donnée ainsi créée peut également faire l’objet d’un traitement 300 ultérieur.Said subprocessing 300-U then includes a step 332 of creating a new encryption/decryption key, thus completing the whole previously constituted in particular at the end of processing 200. Said step 332 further consists of creating a new unit archive, in this case a new flat file, FFw-3, one line of which (elementary archive) corresponds to the record of the current table Tw, at least one attribute of which was modified in step 331. Each field of the line created within the new flat file FFw-3 corresponds to each attribute (except for the UK attribute) of said modified record, the value of each of said attributes being encrypted by the new encryption/decryption key created. If a unit archive FFw-3 already exists, and can be completed, then step 332 consists of adding an elementary archive to the existing unit archive (for example until a predefined number of lines and/or volume is obtained). It may seem surprising to be able to modify a unitary archive in this way when the invention aims to not modify the unitary archives. In fact, such an archive having been created by the application implementing a data management method 10 according to the invention, the requests formulated by coercive controls do not require the use of a tax archive. This tax archive would only be required if the application implementing a data management method 10 according to the invention were to be decommissioned. Consequently, the creation of FFw-3 is only really required upon decommissioning of the application implementing a data management method 10 according to the invention. Storing the information in the form of a “tax archive” FFw-3 simplifies the development of the application implementing a data management method 10 according to the invention insofar as the data thus created can also be the subject of subsequent processing 300.

Un tel sous-traitement 300-U comporte également une étape 333 de mise à jour du conteneur associatif (par exemple, sous la forme avantageuse d’une table associative) CTw associé au conteneur de données Tw (par exemple, sous la forme avantageuse d’une table courante). Cette mise à jour de ladite table associative CTw consiste plus précisément en l’effacement de l’attribut CK, désignant la clé de chiffrement/déchiffrement précédemment exploitée pour créer l’archive unitaire (par exemple, sous la forme avantageuse d’un fichier plat) FFw-2, dans l’enregistrement de ladite table associative CTw qui correspond ou qui est associé à l’enregistrement mis à jour dans le conteneur de données Tw en réponse à la consigne USP.Such a subprocessing 300-U also comprises a step 333 of updating the associative container (for example, in the advantageous form of an associative table) CTw associated with the data container Tw (for example, in the advantageous form of a current table). This updating of said associative table CTw consists more precisely in the erasure of the attribute CK, designating the encryption/decryption key previously used to create the unitary archive (for example, in the advantageous form of a flat file) FFw-2, in the record of said associative table CTw which corresponds to or which is associated with the record updated in the data container Tw in response to the instruction USP.

Ladite étape 333 consiste en outre à créer, dans ledit conteneur associatif CTw, un nouvel enregistrement associé audit enregistrement mis à jour dans le conteneur de données Tw. Ce nouvel enregistrement dudit conteneur associatif CTw comporte principalement :

  • un attribut UK pour contenir la clé unique désignant ledit enregistrement du conteneur de données Tw qui a été mis à jour ;
  • des attributs pour respectivement désigner la nouvelle archive unitaire FFw-3 et l’archive élémentaire de cette dernière qui a été initialisée à l’étape 332 ;
  • un attribut désignant la clé de chiffrement/déchiffrement utilisée pour chiffrer les champs de l’archive élémentaire dans l’archive unitaire FFw-3 (c’est-à-dire les champs d’une ligne d’un fichier plat lorsque l’archive unitaire FFw-3 consiste en un tel fichier plat). Ce chiffrement peut ne pas être obligatoire. Il est avantageusement mis en œuvre, afin que le processus 300 s’applique également à la modification de données contenues dans l’archive unitaire FFw-3, des solutions alternatives d’implémentation pourraient être envisagées sans la nécessité du chiffrement des archives élémentaires dans l’archive unitaire FFw-3.
Said step 333 further consists in creating, in said associative container CTw, a new record associated with said updated record in the data container Tw. This new record of said associative container CTw mainly comprises:
  • a UK attribute to contain the unique key designating said record of the Tw data container that was updated;
  • attributes to respectively designate the new FFw-3 unit archive and the elementary archive of the latter which was initialized in step 332;
  • an attribute designating the encryption/decryption key used to encrypt the fields of the elementary archive in the FFw-3 unitary archive (i.e. the fields of a line of a flat file when the FFw-3 unitary archive consists of such a flat file). This encryption may not be mandatory. It is advantageously implemented, so that the process 300 also applies to the modification of data contained in the FFw-3 unitary archive, alternative implementation solutions could be envisaged without the need for encryption of the elementary archives in the FFw-3 unitary archive.

Lorsque, à l’instar de l’exemple décrit par la , le conteneur associatif CTw (par exemple, sous la forme avantageuse d’une table associative) comporte des attributs accessoires CD, ED pour inscrire les horodatages respectifs de la création de l’entrée dans ladite table CTw et de la création de l’archive élémentaire chiffrée dans l’archive unitaire FFw-3, voire encore des attributs accessoires CID et EID pour inscrire les identifiants des personnes ayant été à l’origine desdites créations, l’étape 333 de création, dans ladite table associative CTw, d’un nouvel enregistrement associé audit enregistrement mis à jour dans le conteneur de données Tw, consiste en outre, par cohérence, à initialiser lesdits attributs accessoires CD, CID, ED, EID en lien avec la création et le chiffrement de l’archive élémentaire de l’archive unitaire FFw-3. Ainsi, de tels attributs accessoires CD et ED, ainsi que CID et EID, sont identiques deux à deux et désignent respectivement l’instant de création de l’archive élémentaire dans ladite archive unitaire FFw-3 (ou de la création de l’enregistrement dans la table associative CTw) et la personne à l’origine de la consigne USP de mise à jour de l’enregistrement dans le conteneur de données Tw.When, like the example described by the , the associative container CTw (for example, in the advantageous form of an associative table) comprises accessory attributes CD, ED for recording the respective timestamps of the creation of the entry in said table CTw and of the creation of the encrypted elementary archive in the unitary archive FFw-3, or even accessory attributes CID and EID for recording the identifiers of the persons having been at the origin of said creations, the step 333 of creation, in said associative table CTw, of a new record associated with said updated record in the data container Tw, further consists, for consistency, in initializing said accessory attributes CD, CID, ED, EID in connection with the creation and encryption of the elementary archive of the unitary archive FFw-3. Thus, such accessory attributes CD and ED, as well as CID and EID, are identical two by two and designate respectively the time of creation of the elementary archive in said unitary archive FFw-3 (or of the creation of the record in the associative table CTw) and the person at the origin of the USP instruction to update the record in the data container Tw.

Le conteneur associatif CTw ainsi modifié à l’étape 333, lie directement ou indirectement, la nouvelle clé de chiffrement/déchiffrement qui a été utilisée pour créer ladite archive élémentaire au sein de l’archive unitaire FFw-3, l’archive élémentaire au sein de cette dernière et l’enregistrement du conteneur de données Tw mis à jour. Ainsi, une modification d’une archive élémentaire en la supprimant, puis en stockant l'information modifiée, en vue de constituer dans l'instant ou ultérieurement, une nouvelle archive élémentaire sans altérer l'archive unitaire originelle, répond également aux besoins contradictoires de conservation et mise à jour.The associative container CTw thus modified in step 333, directly or indirectly links the new encryption/decryption key that was used to create said elementary archive within the unitary archive FFw-3, the elementary archive within the latter and the record of the updated data container Tw. Thus, a modification of an elementary archive by deleting it, then storing the modified information, with a view to constituting, at the moment or later, a new elementary archive without altering the original unitary archive, also meets the contradictory needs of conservation and updating.

Une mise en œuvre d’un tel sous-traitement 300-U est illustrée par la au travers de l’exemple simplifié des données dont l’importation 100 a été précédemment décrite en lien avec les figures 3A et 4A et dont le traitement préalable 200 a été décrit en lien avec la . L’agencement dudit sous-traitement 310-U en trois étapes séquentielles 331, 332, et 333 est arbitraire dans la mesure où les étapes peuvent être réalisées en parallèle ou dans un ordre différent.An implementation of such 300-U subprocessing is illustrated by the through the simplified example of data whose import 100 was previously described in connection with figures 3A and 4A and whose prior processing 200 was described in connection with the . The arrangement of said subprocessing 310-U into three sequential steps 331, 332, and 333 is arbitrary insofar as the steps can be performed in parallel or in a different order.

Ladite présente un conteneur de données sous la forme d’une table Tw1 identique à la table courante Tw1 illustrée par la , exception faite de l’attribut Tw1R1A4 de l’enregistrement Tw1R1 qui a fait l’objet d’une consigne USP en modification. En effet, selon cet exemple, le siège social d’un fournisseur français a déménagé depuis le « 14, rue de l’océan » vers la « Place centrale ». Cet exemple peut surprendre car il ne consiste pas à anonymiser une information, mais il peut se comprendre comme une pseudo anonymisation, permettant de rendre un jeu de données utilisable (par exemple, à des fins de recherche ou de marketing) sans pour autant contenir d’information personnelle utilisable. Nous pouvons constater que l’archive unitaire, sous la forme avantageuse du fichier plat FFw1-2, demeure inchangée à l’issue du traitement 300, 300-U. Ladite présente toutefois la création d’une nouvelle archive unitaire sous la forme d’un nouveau fichier plat FFw1-3 qui comporte une archive élémentaire, en l’espèce une ligne FFw1-3R1, comprenant, à l’instar d’une archive élémentaire sous la forme d’une ligne du fichier plat FFw1-2, quatre champs qui correspondent respectivement aux attributs PID, PC, PN et PA de l’enregistrement Tw1R1 modifié, lesdits attributs étant chiffrés au moyen d’une nouvelle clé de chiffrement/déchiffrement CK3 pour constituer les champs de ladite archive élémentaire FFw1-3R1.The said presents a data container in the form of a table Tw1 identical to the current table Tw1 illustrated by the , except for the Tw1R1A4 attribute of the Tw1R1 record which was the subject of a USP instruction for modification. Indeed, according to this example, the head office of a French supplier moved from “14, rue de l'océan” to “Place centrale”. This example may be surprising because it does not consist of anonymizing information, but it can be understood as a pseudo-anonymization, making it possible to make a data set usable (for example, for research or marketing purposes) without containing usable personal information. We can see that the unitary archive, in the advantageous form of the flat file FFw1-2, remains unchanged at the end of the 300, 300-U processing. Said presents however the creation of a new unitary archive in the form of a new flat file FFw1-3 which includes an elementary archive, in this case a line FFw1-3R1, comprising, like an elementary archive in the form of a line of the flat file FFw1-2, four fields which correspond respectively to the attributes PID, PC, PN and PA of the modified Tw1R1 record, said attributes being encrypted by means of a new encryption/decryption key CK3 to constitute the fields of said elementary archive FFw1-3R1.

La illustre en outre un conteneur associatif sous la forme avantageuse d’une table associative CTw1 similaire à celle d’ores et déjà décrite en lien avec la . Toutefois, à l’issue de la mise en œuvre du sous-traitement 300-U, l’enregistrement CTw1R1 de la table associative CTw1, associé à l’enregistrement Tw1R1 qui est l’objet de la consigne USP en modification, a été modifié. Cette modification consiste à effacer la valeur de l’attribut CTw1R1A2 (apparaissant ceinturé par une ligne discontinue sur la ). Cet attribut désignait jusqu’alors la clé de chiffrement/déchiffrement CK1. Ainsi, bien que l’archive unitaire (sous la forme avantageuse d’un fichier plat) FFw1-2 soit conservée en l’état, il n’est plus possible d’accéder – via la table associative CTw1 - à l’information claire en lien avec l’archive élémentaire FFw1-2R1 de ladite archive unitaire puisque l’enregistrement CTw1R1 ne désigne plus la clé de chiffrement/déchiffrement nécessaire au déchiffrement de ladite archive élémentaire FFw1-2R1. En revanche, ladite table associative CTw1 comporte un enregistrement CTw1R3 supplémentaire au regard de celle décrite en lien avec la .There further illustrates an associative container in the advantageous form of an associative table CTw1 similar to that already described in connection with the . However, following the implementation of subprocessing 300-U, the CTw1R1 record of the CTw1 associative table, associated with the Tw1R1 record which is the subject of the USP instruction under modification, was modified. This modification consists of deleting the value of the CTw1R1A2 attribute (appearing surrounded by a broken line on the ). This attribute previously designated the encryption/decryption key CK1. Thus, although the unitary archive (in the advantageous form of a flat file) FFw1-2 is preserved as is, it is no longer possible to access – via the associative table CTw1 – the clear information relating to the elementary archive FFw1-2R1 of said unitary archive since the CTw1R1 record no longer designates the encryption/decryption key necessary for decrypting said elementary archive FFw1-2R1. On the other hand, said associative table CTw1 includes an additional CTw1R3 record with respect to that described in relation to the .

Le nouvel enregistrement CTw1R3 de ladite table associative CTw1 comporte :

  • un attribut UK, référencé CTw1R3A1 sur la , pour contenir la clé unique « 12345678 » désignant l’enregistrement Tw1R1 de la table courante Tw1, ou plus généralement du conteneur de données, qui a été mis à jour traduisant une archive élémentaire amendée ; le fait de conserver la même clé unique UK assure une meilleure traçabilité des modifications, mais, en variante le champ UK pourrait être recalculé ;
  • des attributs CTw1R3A3 et CTw1R3A4 pour respectivement désigner la nouvelle archive unitaire FFw1-3 et la ligne ou archive élémentaire FFw1-3R1 de cette dernière ;
  • un attribut CTw1R3A2 désignant la clé de chiffrement/déchiffrement CK3 utilisée pour chiffrer les champs de ladite archive élémentaire FFw1-3R1 de ladite archive unitaire FFw1-3.
The new CTw1R3 record of said associative table CTw1 includes:
  • a UK attribute, referenced CTw1R3A1 on the , to contain the unique key "12345678" designating the record Tw1R1 of the current table Tw1, or more generally of the data container, which has been updated translating an amended elementary archive; keeping the same unique key UK ensures better traceability of modifications, but, alternatively the UK field could be recalculated;
  • attributes CTw1R3A3 and CTw1R3A4 to respectively designate the new unit archive FFw1-3 and the line or elementary archive FFw1-3R1 of the latter;
  • a CTw1R3A2 attribute designating the encryption/decryption key CK3 used to encrypt the fields of said elementary archive FFw1-3R1 of said unitary archive FFw1-3.

Comme évoqué précédemment, un tel nouvel enregistrement CTw1R3 de la table associative CTw1, associé à l’enregistrement Tw1R1 mis à jour dans la table courante Tw1, peut comporter des attributs accessoires CD, CID, ED, EID en lien avec les archives élémentaires de ladite archive unitaire FFw-3, comme l’indique la . En l’espèce, les attributs CD et ED désignent l’horodatage ts5 de la création dudit enregistrement CTw1R3 et les attributs ED et EID désignent (par l’identifiant U030) la personne à l’origine de la consigne de mise à jour de l’enregistrement Tw1R1 dans la table courante Tw1.As mentioned above, such a new CTw1R3 record of the associative table CTw1, associated with the Tw1R1 record updated in the current table Tw1, may include accessory attributes CD, CID, ED, EID linked to the elementary archives of said unitary archive FFw-3, as indicated in the . In this case, the attributes CD and ED designate the timestamp ts5 of the creation of said record CTw1R3 and the attributes ED and EID designate (by the identifier U030) the person at the origin of the instruction to update the record Tw1R1 in the current table Tw1.

A l’issue de la mise en œuvre du sous-traitement 300-U, la table associative CTw1 assure le lien entre les enregistrements Tw1R1 et Tw1R2 de la table courante Tw1 et les fichiers de travail FFw1-2 et FFw1-3. Plus précisément, la première ligne FFw1-3R1 du fichier plat FFw1-3, dont les champs sont déchiffrables par l’exploitation de la clé de chiffrement/déchiffrement CK3, est associée à l’enregistrement Tw1R1 de la table courante Tw1. La deuxième ligne FFw1-2R2 du fichier plat FFw1-2, dont les champs sont déchiffrables par l’exploitation de la clé de chiffrement/déchiffrement CK2, est associée à l’enregistrement Tw1R2 de la table courante Tw1. L’enregistrement CTw1R1 de la table associative CTw1 n’est plus utile qu’à des fins de traçabilité et pourrait être archivé.After implementing subprocessing 300-U, the associative table CTw1 provides the link between records Tw1R1 and Tw1R2 of the current table Tw1 and the work files FFw1-2 and FFw1-3. More precisely, the first line FFw1-3R1 of the flat file FFw1-3, whose fields can be deciphered using the encryption/decryption key CK3, is associated with record Tw1R1 of the current table Tw1. The second line FFw1-2R2 of the flat file FFw1-2, whose fields can be deciphered using the encryption/decryption key CK2, is associated with record Tw1R2 of the current table Tw1. The CTw1R1 record of the CTw1 associative table is no longer useful for traceability purposes and could be archived.

La situation aurait été identique, si la consigne USP en modification d’un enregistrement d’un conteneur de données Tw1 avait porté sur la suppression du nom d’une personne référente, tel que désigné par l’attribut PN pour satisfaire aux règles du RGPD, par exemple.The situation would have been the same if the USP instruction when modifying a record of a Tw1 data container had concerned the deletion of the name of a reference person, as designated by the PN attribute to comply with GDPR rules, for example.

Comme l’indique la , l’invention prévoit qu’un procédé de gestion de données 10 puisse comporter un traitement 400 visant à terminer l’exploitation dudit procédé 10 et exporter les données gérées vers une application tierce. Un exemple d’un tel traitement 400 est illustré par la .As indicated by the , the invention provides that a data management method 10 may comprise a processing 400 aimed at completing the operation of said method 10 and exporting the managed data to a third-party application. An example of such processing 400 is illustrated by the .

L’objectif de ce traitement 400 peut consister à exploiter un conteneur associatif CTw associé à un conteneur de données Tw, pour constituer une archive unitaire (par exemple sous la forme d’un fichier plat) de sortie FFo à partir des archives unitaires de travail chiffrées FFw.The objective of this processing 400 may consist of exploiting an associative container CTw associated with a data container Tw, to constitute a unitary archive (for example in the form of a flat file) of output FFo from the encrypted unitary work archives FFw.

Un tel traitement 400 peut comporter une première étape itérative 401 de lecture de tout enregistrement d’un tel conteneur associatif CTw (par exemple, sous la forme avantageuse d’une table associative) comportant un attribut UK désignant une clé de chiffrement/déchiffrement CK. Lorsqu’une archive unitaire de travail FFw se présente sous la forme avantageuse d’un fichier plat de travail, pour chaque enregistrement ainsi sélectionné, une étape 402 consiste à lire la ligne du fichier plat de travail FFw désignée par les attributs FN et RN (voir figure 4) de l’enregistrement sélectionné et à déchiffrer les champs de ladite ligne lue en exploitant la clé de chiffrement/déchiffrement désignée (attribut CK) également par l’enregistrement sélectionné parmi les clés de chiffrement/déchiffrement . Une telle étape 402 consiste alors à créer, pour chaque enregistrement sélectionné au sein de la table associative CTw, une ligne dans un nouveau fichier plat FFo dont les champs clairs correspondent respectivement auxdits champs déchiffrés. Un tel traitement 400 peut en outre comporter une étape 404 d’enregistrement dudit fichier plat de sortie FFo dans une mémoire de données DMo du système informatique, tel que le système informatique 1 selon la . Un tel fichier plat FFo constitue une archive unitaire de sortie dont chaque ligne décrit une archive élémentaire. Une telle étape 404 peut en outre consister en l’effacement des fichiers ou archives unitaires de travail chiffrés FFw dans la mémoire de données DMw. Au préalable, l’invention prévoit, selon un mode de réalisation optionnel, qu’un tel traitement 400 comporte une étape de vérification 403 de la pertinence dudit fichier plat de sortie FFo. Dans ce cas, l’étape 404 d’enregistrement dans une mémoire de données DMo, voire de suppression des fichiers de travail chiffrés FFw dans la mémoire de données DMw, n’est mise en œuvre que si ladite étape de vérification 403 atteste que ledit fichier plat FFo est a priori pertinent. Cette situation est symbolisée par le lien 403-y en . Dans le cas contraire (situation symbolisée par le lien 403-n en ), ledit fichier plat FFo est supprimé et les étapes 401 et 402 sont de nouveau mises en œuvre pour créer une nouvelle archive unitaire de sortie, en l’espèce, selon cet exemple, un nouveau fichier plat de sortie FFo. Une telle étape de vérification 403 peut consister en diverses opérations portant sur le fichier plat FFo, les fichiers de travail FFw et/ou les tables courante Tw et associative CTw. A titre d’exemple, ladite vérification 403 peut consister à compter le nombre d’enregistrements dans la table associative CTw exploités pour déchiffrer les champs d’une ligne d’un fichier de travail FFw et constituer une ligne de champs clairs dans ledit fichier plat de sortie FFo puis à comparer ledit nombre d’enregistrements avec le nombre de lignes créées dans ledit fichier plat de sortie FFo. Il ne faut pas tenir compte des enregistrements de CTw correspondant à des enregistrements supprimés au sens de l’étape 300-D. Si ces deux nombres sont égaux alors, le fichier plat FFo est considéré (cf. le lien 403-y en ) comme pertinent par l’étape 403. Dans le cas contraire (cf. le lien 403-n en ), la vérification échoue. En variante et/ou en complément, ledit nombre de lignes créées dans ledit fichier plat de sortie FFo peut être comparé avec le nombre d’enregistrements non nuls présents dans la table courante (conteneur de données) Tw associée à la table associative CTw exploitée pour créer ledit fichier plat de sortie FFo. Si les deux nombres sont égaux, alors l’archive unitaire de sortie FFo peut être déclarée pertinente à l’étape 403.Such processing 400 may comprise a first iterative step 401 of reading any record of such an associative container CTw (for example, in the advantageous form of an associative table) comprising an attribute UK designating an encryption/decryption key CK. When a unitary work archive FFw is in the advantageous form of a flat work file, for each record thus selected, a step 402 consists of reading the line of the flat work file FFw designated by the attributes FN and RN (see FIG. 4) of the selected record and decrypting the fields of said read line by exploiting the encryption/decryption key designated (attribute CK) also by the record selected from among the encryption/decryption keys . Such a step 402 then consists in creating, for each record selected within the associative table CTw, a line in a new flat file FFo whose clear fields correspond respectively to said decrypted fields. Such a processing 400 may further comprise a step 404 of recording said output flat file FFo in a data memory DMo of the computer system, such as the computer system 1 according to the . Such a flat file FFo constitutes a unitary output archive, each line of which describes an elementary archive. Such a step 404 may further consist of deleting the encrypted work unitary files or archives FFw in the data memory DMw. Beforehand, the invention provides, according to an optional embodiment, that such processing 400 comprises a verification step 403 of the relevance of said output flat file FFo. In this case, the step 404 of recording in a data memory DMo, or even of deleting the encrypted work files FFw in the data memory DMw, is only implemented if said verification step 403 attests that said flat file FFo is a priori relevant. This situation is symbolized by the link 403-y in . Otherwise (situation symbolized by the link 403-n in ), said flat file FFo is deleted and steps 401 and 402 are implemented again to create a new unitary output archive, in this case, according to this example, a new flat output file FFo. Such a verification step 403 may consist of various operations relating to the flat file FFo, the working files FFw and/or the current tables Tw and associative tables CTw. As an example, said verification 403 may consist of counting the number of records in the associative table CTw used to decipher the fields of a line of a working file FFw and constitute a line of clear fields in said flat output file FFo and then comparing said number of records with the number of lines created in said flat output file FFo. The CTw records corresponding to records deleted within the meaning of step 300-D must not be taken into account. If these two numbers are equal then the flat file FFo is considered (see link 403-y in ) as relevant by step 403. Otherwise (see link 403-n in ), the verification fails. Alternatively and/or additionally, said number of lines created in said output flat file FFo can be compared with the number of non-zero records present in the current table (data container) Tw associated with the associative table CTw used to create said output flat file FFo. If the two numbers are equal, then the output unit archive FFo can be declared relevant at step 403.

La illustre le résultat d’une mise en œuvre d’un tel traitement 400 sur l’exemple simplifié des données dont l’importation 100 a été précédemment décrite en lien avec les figures 3A et 4A, dont le traitement préalable 200 a été décrit en lien avec la et dont la mise à jour 300-U d’un attribut d’un enregistrement a été illustrée par la .There illustrates the result of an implementation of such processing 400 on the simplified example of the data whose import 100 was previously described in connection with FIGS. 3A and 4A, whose prior processing 200 was described in connection with the and whose 300-U update of an attribute of a record was illustrated by the .

En exploitant la table associative CTw1 décrite en lien avec ladite , seuls deux enregistrements CTw1R2 et CTw1R3 comportent un attribut CK désignant une clé de déchiffrement/déchiffrement, en l’espèce les clés CK2 et CK3. Le fichier plat de sortie FFo1 (archive unitaire de sortie) décrit en , résultant de la mise en œuvre d’un traitement d’exportation 400, comporte donc deux lignes FFo1R1 et FFo1R2 (archives élémentaires). La première ligne FFo1R1, issue de l’exploitation de l’enregistrement CTw1R2 de la table associative CTw1, correspond à la deuxième ligne du fichier FFw1-2 après déchiffrement des champs à partir de la clé de chiffrement/déchiffrement CK2. La seconde ligne FFo1R2, issue de l’exploitation de l’enregistrement CTw1R3 de la table associative CTw1, correspond, quant à elle, à la première ligne du fichier FFw1-3 après déchiffrement des champs grâce à la clé de chiffrement/déchiffrement CK3.By exploiting the associative table CTw1 described in connection with said , only two records CTw1R2 and CTw1R3 have a CK attribute designating a decryption/decryption key, in this case the keys CK2 and CK3. The output flat file FFo1 (unitary output archive) described in , resulting from the implementation of an export processing 400, therefore comprises two lines FFo1R1 and FFo1R2 (elementary archives). The first line FFo1R1, resulting from the exploitation of the CTw1R2 record of the CTw1 associative table, corresponds to the second line of the FFw1-2 file after decryption of the fields using the CK2 encryption/decryption key. The second line FFo1R2, resulting from the exploitation of the CTw1R3 record of the CTw1 associative table, corresponds to the first line of the FFw1-3 file after decryption of the fields using the CK3 encryption/decryption key.

En variante, un tel traitement 400 d’exportation des données contenues dans une table courante Tw1 pourrait consister à parcourir les enregistrements de cette dernière et à créer une ligne dans ledit fichier plat de sortie FFo1 dont les champs sont ceux contenus dans les attributs desdits enregistrements de ladite table courante Tw1 à l’exception de l’attribut UK désignant une clé unique.Alternatively, such processing 400 for exporting data contained in a current table Tw1 could consist of browsing the records of the latter and creating a line in said flat output file FFo1 whose fields are those contained in the attributes of said records of said current table Tw1 with the exception of the UK attribute designating a unique key.

Plus généralement, un tel traitement 400 selon la a ainsi pour vocation à remplacer les fichiers d’archives chiffrés par des fichiers d’archive en clair, également nommés « fichiers d’archive clairs ». Cette opération est un prérequis à un décommissionnement de l’application mettant en œuvre un procédé 10 puisqu’une archive unitaire n’est utilisable, en cas de contrôle coercitif, que si elle demeure lisible. Le traitement 400 illustré par la ne présente pas l’intégralité des étapes nécessaires et suffisantes pour décommissionner une application mettant en œuvre un procédé de gestion de données 10 selon l’invention. En effet, les conteneurs de données gérés par une telle application feraient l’objet de création d’archives unitaires selon un processus auditable, les archives claires seraient reprises en l’état ainsi que tous documents associés à des index (données de désignation) lorsque ces documents n’auront pas été supprimés. Ainsi, un traitement 400 selon la décrit principalement un processus de fourniture d’archives unitaires claires, postérieures aux dernières modifications appliquées par une ou plusieurs itérations d’un traitement 300 avant un arrêt ou décommissionnement de l’application mettant en œuvre un procédé 10 de gestion de données conforme à l’invention.More generally, such treatment 400 according to the is thus intended to replace encrypted archive files with plain archive files, also called "plain archive files". This operation is a prerequisite for decommissioning the application implementing a method 10 since a unitary archive can only be used, in the event of coercive control, if it remains readable. The processing 400 illustrated by the does not present all of the necessary and sufficient steps to decommission an application implementing a data management method 10 according to the invention. Indeed, the data containers managed by such an application would be the subject of the creation of unit archives according to an auditable process, the clear archives would be taken as is as well as all documents associated with indexes (designation data) when these documents have not been deleted. Thus, a processing 400 according to the mainly describes a process for providing clear unitary archives, subsequent to the last modifications applied by one or more iterations of a processing 300 before a shutdown or decommissioning of the application implementing a data management method 10 in accordance with the invention.

Les traitements 100, 200, 300 et 400 ont été décrits en lien avec les figures 2 à 11, au travers d’exemples portant sur des données dont l’importation ne constitue qu’un seul conteneur de données, en l’espèce une table courante, Tw et un seul conteneur associatif, en l’espèce une table associative CTw, par mesure de simplification. Lorsque lesdites données importées sont issues d’une pluralité d’archives unitaires d’entrée FFi, par exemple sous la forme d’une pluralité de fichiers plats d’entrée, une telle importation peut engendrer la création d’une pluralité de conteneurs de données ou de tables courantes Tw et donc de tables associatives CTw. Lesdits traitement 200, 300 et 400 portent alors itérativement sur lesdites pluralités de conteneurs de données Tw et conteneurs associatifs CTw. En d’autres termes, il peut y avoir plusieurs conteneurs de données (plusieurs tables courantes par exemple), et pour chaque conteneur de données, il peut y avoir plusieurs archives unitaires (sous la forme avantageuse respectivement de plusieurs fichiers plats FFi et FFw) selon des relations n-m et pas seulement par des relations 1-1 ou même 1-n. En variante, un seul conteneur associatif CTw global pourrait être créé et exploité pour désigner tout enregistrement de tout conteneur de données Tw, Enfin, certains conteneurs de données Tw et associatifs CTw pourraient ne constituer qu’une seule et même entité dans la mémoire de données concernée DMw.The processing operations 100, 200, 300 and 400 have been described in connection with FIGS. 2 to 11, through examples relating to data whose import constitutes only a single data container, in this case a current table, Tw and a single associative container, in this case an associative table CTw, for simplification purposes. When said imported data comes from a plurality of unitary input archives FFi, for example in the form of a plurality of flat input files, such an import can result in the creation of a plurality of data containers or current tables Tw and therefore associative tables CTw. Said processing operations 200, 300 and 400 then iteratively relate to said pluralities of data containers Tw and associative containers CTw. In other words, there may be several data containers (several common tables for example), and for each data container, there may be several unit archives (in the advantageous form respectively of several flat files FFi and FFw) according to n-m relations and not only by 1-1 or even 1-n relations. Alternatively, a single global associative container CTw could be created and used to designate any record of any data container Tw. Finally, some data containers Tw and associative CTw could constitute only one and the same entity in the data memory concerned DMw.

Claims (17)

Procédé (10) de gestion de données conçu pour être mis en œuvre par une unité de traitement (PU) d’un système informatique (1) comportant également une première mémoire de données (DMw) accessible en lecture et en écriture par ladite unité de traitement (PU), ledit procédé (10) étant caractérisé en ce que lesdites données sont stockées en clair dans une première archive unitaire (FFw-1) au sein de la première mémoire de données (DMw) dudit système informatique (1), ladite première archive unitaire (FFw-1) comportant une ou plusieurs archives élémentaires (FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm) comprenant chacune un ou plusieurs champs (FFw-1RxCn) et en ce que ledit procédé (10) comporte :
  • une étape (100, 105) de création, dans ladite première mémoire de données (DMw) d’un conteneur de données (Tw) dont les enregistrements (TwR1, TwR2, TwR3, …, TwRm) décrivent respectivement les archives élémentaires (FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm) de ladite première archive unitaire (FFw-1) et pour lesquels un attribut (TwRxAn) d’enregistrement correspond à un champ (FFw-1RxCn) d’archive élémentaire, chaque enregistrement dudit conteneur de données (Tw) comportant en outre un attribut supplémentaire (TwRxAUK) dont la valeur (UK1, UK2, UK3, UKm) consiste en une clé unique identifiant l’information contenue dans un enregistrement dudit conteneur de données (Tw) ;
  • une étape (105) de création, dans ladite première mémoire de données (DMw), d’un conteneur associatif (CTw) comportant un enregistrement (CTwR1, CTwR2, CTwR3, …, CTwRk) associé à chaque enregistrement (TwR1, TwR2, TwR3, …,TwRm) du conteneur de données (Tw), chaque enregistrement dudit conteneur associatif comportant un attribut (UK) pour contenir la clé unique désignant l’enregistrement du conteneur de données qui lui est ainsi associé, des attributs pour respectivement désigner la première archive unitaire (FFw-1) et l’archive élémentaire de cette dernière à partir desquels l’enregistrement du conteneur de données (Tw) a été initialisé ;
  • une étape (203) :
    • de création, dans la première mémoire de données (DMw) :
      • d’autant de clés de chiffrement/déchiffrement ( ) qu’il existe d’enregistrements dans le conteneur de données (Tw) ;
      • d’une deuxième archive unitaire (FFw-2, FFw1-2) à partir de la première archive unitaire (FFw-1, FFw1-1) et desdites clés de chiffrement/déchiffrement ( ) de sorte que chaque champ (FFw1-2R1F1) d’une même archive élémentaire (FFw1-2R1) de ladite deuxième archive unitaire (FFw-2, FFw1-1) résulte d’une opération de chiffrement du champ (FFw1-2R1F1) correspondant de la même archive élémentaire (FFw1-1R1) de ladite première archive unitaire (FFw-1, FFw1-1) par l’une (CK1) desdites clés de chiffrement/déchiffrement ( ) ;
    • de mise à jour d’un attribut (CK) dans l’enregistrement (CTwR1, … CTwRk) du conteneur associatif (CTw) associé à l’enregistrement (Tw1R1, …, TwRm) du conteneur de données (Tw) de sorte que ledit attribut (CK) désigne la clé (CK1) de chiffrement/déchiffrement utilisée pour chiffrer les champs de l’archive élémentaire de ladite première archive unitaire (FFw-1, FFw1-1) ;
  • une étape (206) de suppression de la première archive unitaire (FFw-1, FFw1-1) dans la première mémoire de données (DMw).
Method (10) for data management designed to be implemented by a processing unit (PU) of a computer system (1) also comprising a first data memory (DMw) accessible in reading and writing by said processing unit (PU), said method (10) being characterized in that said data are stored in clear text in a first unitary archive (FFw-1) within the first data memory (DMw) of said computer system (1), said first unitary archive (FFw-1) comprising one or more elementary archives (FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm) each comprising one or more fields (FFw-1RxCn) and in that said method (10) comprises:
  • a step (100, 105) of creating, in said first data memory (DMw), a data container (Tw) whose records (TwR1, TwR2, TwR3, …, TwRm) respectively describe the elementary archives (FFw-1R1, FFw-1R2, FFw-1R3, …, FFw-1Rm) of said first unitary archive (FFw-1) and for which a record attribute (TwRxAn) corresponds to an elementary archive field (FFw-1RxCn), each record of said data container (Tw) further comprising an additional attribute (TwRxAUK) whose value (UK1, UK2, UK3, UKm) consists of a unique key identifying the information contained in a record of said data container (Tw);
  • a step (105) of creating, in said first data memory (DMw), an associative container (CTw) comprising a record (CTwR1, CTwR2, CTwR3, …, CTwRk) associated with each record (TwR1, TwR2, TwR3, …, TwRm) of the data container (Tw), each record of said associative container comprising an attribute (UK) for containing the unique key designating the record of the data container which is thus associated with it, attributes for respectively designating the first unit archive (FFw-1) and the elementary archive of the latter from which the record of the data container (Tw) was initialized;
  • a step (203):
    • of creation, in the first data memory (DMw):
      • of as many encryption/decryption keys ( ) that there are records in the data container (Tw);
      • of a second unit archive (FFw-2, FFw1-2) from the first unit archive (FFw-1, FFw1-1) and said encryption/decryption keys ( ) such that each field (FFw1-2R1F1) of the same elementary archive (FFw1-2R1) of said second unitary archive (FFw-2, FFw1-1) results from an encryption operation of the corresponding field (FFw1-2R1F1) of the same elementary archive (FFw1-1R1) of said first unitary archive (FFw-1, FFw1-1) by one (CK1) of said encryption/decryption keys ( ) ;
    • updating an attribute (CK) in the record (CTwR1, … CTwRk) of the associative container (CTw) associated with the record (Tw1R1, …, TwRm) of the data container (Tw) so that said attribute (CK) designates the encryption/decryption key (CK1) used to encrypt the fields of the elementary archive of said first unitary archive (FFw-1, FFw1-1);
  • a step (206) of deleting the first unit archive (FFw-1, FFw1-1) in the first data memory (DMw).
Procédé (10) selon la revendication précédente, pour lequel :
  • les données sont initialement stockées en clair dans une archive unitaire tierce, dite « archive unitaire d’entrée » (FFi) au sein d'une deuxième mémoire de données (DMi) dudit système informatique (1), ladite archive unitaire tierce (FFi) comportant une ou plusieurs archives élémentaires comprenant chacune un ou plusieurs attributs ;
  • le procédé (10) comporte une première étape (101) de lecture de l’archive unitaire d’entrée (FFi) dans la deuxième mémoire de données et de création (102) dans la première mémoire de données (DMw) de la première archive unitaire (FFw-1) à partir de ladite archive unitaire d’entrée (FFi) de sorte que lesdites première archive unitaire (FFw-1) et l’archive unitaire d’entrée (FFi) soient identiques.
Method (10) according to the preceding claim, for which:
  • the data are initially stored in clear text in a third-party unit archive, called the “input unit archive” (FFi) within a second data memory (DMi) of said computer system (1), said third-party unit archive (FFi) comprising one or more elementary archives each comprising one or more attributes;
  • the method (10) comprises a first step (101) of reading the input unit archive (FFi) in the second data memory and of creating (102) in the first data memory (DMw) the first unit archive (FFw-1) from said input unit archive (FFi) so that said first unit archive (FFw-1) and the input unit archive (FFi) are identical.
Procédé (10) selon la revendication 1 ou 2, pour lequel, lorsque ledit procédé (10) comporte un traitement (300) de mise à jour consistant en une suppression (300-D) d’un enregistrement (Tw1R1) du conteneur de données (Tw) décrivant une archive élémentaire, ledit traitement (300, 300-D) comporte une étape (321) d’effacement de l’attribut (CK, CTw1R1A2) désignant la clé de chiffrement/déchiffrement dans l’enregistrement (CTw1R1) du conteneur associatif (CTw, CTw1) correspondant audit enregistrement (Tw1R1) du conteneur de données (Tw, Tw1).Method (10) according to claim 1 or 2, for which, when said method (10) comprises an update processing (300) consisting of a deletion (300-D) of a record (Tw1R1) of the data container (Tw) describing an elementary archive, said processing (300, 300-D) comprises a step (321) of erasing the attribute (CK, CTw1R1A2) designating the encryption/decryption key in the record (CTw1R1) of the associative container (CTw, CTw1) corresponding to said record (Tw1R1) of the data container (Tw, Tw1). Procédé (10) selon la revendication 1 ou 2, pour lequel, lorsque ledit procédé (10) comporte un traitement (300) de mise à jour consistant en une modification (300-U) d’un attribut (Tw1R1A4) d’un enregistrement (Tw1R1) du conteneur de données (Tw, Tw1) décrivant une archive élémentaire, ledit traitement (300, 300-U) comporte :
  • une étape (331) de mise à jour dudit attribut (Tw1R1A4) dans le conteneur de données (Tw, Tw1) ;
  • une étape de création (332) d’une clé de chiffrement/déchiffrement (CK3) et d’une troisième archive unitaire (FFw-3, FFw1-3) dont une archive élémentaire (FFw1-3R1) correspond à l’enregistrement (Tw1R1) du conteneur de données (Tw, Tw1) dont l’attribut (Tw1R1A4) a été modifié et pour laquelle chaque champ d’archive élémentaire correspond à chaque attribut dudit enregistrement (Tw1R1) chiffré par la clé de chiffrement/déchiffrement (CK3) préalablement créée ;
  • une étape (333) :
    • d’effacement de l’attribut (CK, CTw1R1A2) désignant la clé de chiffrement/déchiffrement dans l’enregistrement (CTw1R1) du conteneur associatif (CTw, CTw1) correspondant à l’enregistrement mis à jour du conteneur de données (Tw, Tw1) ;
    • de création, dans ledit conteneur associatif, d’un nouvel enregistrement (CTw1R3) associé à l’enregistrement (Tw1R1) mis à jour dans le conteneur de données (Tw, Tw1), le nouvel enregistrement dudit conteneur associatif (CTw, CTw1) comportant :
      • un attribut (UK, CTw1R3A1) pour contenir la clé unique (UK) désignant ledit enregistrement (Tw1R1) du conteneur de données (Tw, Tw1) qui a été mis à jour,
      • des attributs (CTw1R3A3, CTw1R3A4) pour respectivement désigner la troisième archive unitaire (FFw-3, FFw1-3) et l’archive élémentaire (FFw1-3R1) de cette dernière qui vient d’être initialisée,
      • un attribut (CTw1R3A2) désignant la clé de chiffrement/déchiffrement (CK3) utilisée pour chiffrer les champs de l’archive élémentaire (FFw1-3R1) de ladite troisième archive unitaire (FFw-3, FFw1-3).
Method (10) according to claim 1 or 2, for which, when said method (10) comprises an update processing (300) consisting of a modification (300-U) of an attribute (Tw1R1A4) of a record (Tw1R1) of the data container (Tw, Tw1) describing an elementary archive, said processing (300, 300-U) comprises:
  • a step (331) of updating said attribute (Tw1R1A4) in the data container (Tw, Tw1);
  • a step of creating (332) an encryption/decryption key (CK3) and a third unitary archive (FFw-3, FFw1-3) of which an elementary archive (FFw1-3R1) corresponds to the record (Tw1R1) of the data container (Tw, Tw1) whose attribute (Tw1R1A4) has been modified and for which each elementary archive field corresponds to each attribute of said record (Tw1R1) encrypted by the encryption/decryption key (CK3) previously created;
  • a step (333):
    • deleting the attribute (CK, CTw1R1A2) designating the encryption/decryption key in the record (CTw1R1) of the associative container (CTw, CTw1) corresponding to the updated record of the data container (Tw, Tw1);
    • of creating, in said associative container, a new record (CTw1R3) associated with the record (Tw1R1) updated in the data container (Tw, Tw1), the new record of said associative container (CTw, CTw1) comprising:
      • an attribute (UK, CTw1R3A1) to contain the unique key (UK) designating said record (Tw1R1) of the data container (Tw, Tw1) which was updated,
      • attributes (CTw1R3A3, CTw1R3A4) to respectively designate the third unit archive (FFw-3, FFw1-3) and the elementary archive (FFw1-3R1) of the latter which has just been initialized,
      • an attribute (CTw1R3A2) designating the encryption/decryption key (CK3) used to encrypt the fields of the elementary archive (FFw1-3R1) of said third unitary archive (FFw-3, FFw1-3).
Procédé (10) selon l’une quelconque des revendications précédentes, comportant un traitement d’exportation des données (400) comportant :
  • une étape (401) de lecture de tout enregistrement du conteneur associatif (CTw) comportant un attribut (UK) désignant une clé de chiffrement/déchiffrement (CK) ;
  • une étape (402) de :
    • lecture de l’archive élémentaire de l’archive unitaire (FFw-2, FFw-3) conjointement désignées par ledit enregistrement lu au sein du conteneur associatif (CTw) ;
    • déchiffrement des champs de ladite archive élémentaire lue à partir de la clé de chiffrement/déchiffrement désignée également par l’enregistrement lu dans le conteneur associatif (CTw) ;
    • création d’une archive élémentaire (FFo1R1, FFo1R2) dans une quatrième archive unitaire, dite « archive unitaire de sortie » (FFo, FFo1) dont les champs correspondent respectivement auxdits champs déchiffrés de l’archive élémentaire (FFw-2, FFw-3) lue.
Method (10) according to any one of the preceding claims, comprising a data export processing (400) comprising:
  • a step (401) of reading any record of the associative container (CTw) comprising an attribute (UK) designating an encryption/decryption key (CK);
  • a step (402) of:
    • reading the elementary archive of the unitary archive (FFw-2, FFw-3) jointly designated by said record read within the associative container (CTw);
    • decryption of the fields of said elementary archive read from the encryption/decryption key also designated by the record read in the associative container (CTw);
    • creation of an elementary archive (FFo1R1, FFo1R2) in a fourth unitary archive, called “output unitary archive” (FFo, FFo1) whose fields correspond respectively to said decrypted fields of the elementary archive (FFw-2, FFw-3) read.
Procédé (10) selon la revendication précédente, comportant une étape (404) d’enregistrement dans une troisième mémoire de données (DMo) du système informatique (1) de ladite archive unitaire de sortie (FFo).Method (10) according to the preceding claim, comprising a step (404) of recording in a third data memory (DMo) of the computer system (1) said unitary output archive (FFo). Procédé selon la revendication précédente comportant une étape de vérification (403) de la pertinence de ladite archive unitaire de sortie (FFo), l’étape d’enregistrement dans une troisième mémoire de données (DMo) n’étant mise en œuvre que si (403-y) ladite étape de vérification (403) atteste que ladite archive unitaire de sortie (FFo) est pertinente.Method according to the preceding claim comprising a step of verifying (403) the relevance of said unitary output archive (FFo), the step of recording in a third data memory (DMo) only being implemented if (403-y) said verification step (403) attests that said unitary output archive (FFo) is relevant. Procédé (10) selon la revendication 2, comportant une étape (103) de vérification de la pertinence de la première archive unitaire (FFw-1, FFw1-1) créée, préalable à la mise en œuvre de l’étape de création (105) du conteneur de données (Tw, Tw1) et/ou de l’étape (105) de création du conteneur associatif (CTw, CTw1), au moins l’une de ces deux étapes de création (105) n’étant mise en œuvre que si (103-y) ladite étape de vérification (103) atteste que ladite première archive unitaire (FFw-1, FFw1-1) est conforme à l’archive unitaire d’entrée (FFi), ladite première archive unitaire (FFw-1, FFw1-1) étant supprimée (104) de la première mémoire de données (DMw) et l’étape de création (102) dans ladite première mémoire de données (DMw) d’une première archive unitaire (FFw-1) à partir de l’archive unitaire d’entrée (FFi) étant de nouveau mise en œuvre dans le cas contraire (103-n).Method (10) according to claim 2, comprising a step (103) of verifying the relevance of the first unitary archive (FFw-1, FFw1-1) created, prior to the implementation of the step of creating (105) the data container (Tw, Tw1) and/or the step (105) of creating the associative container (CTw, CTw1), at least one of these two creation steps (105) being implemented only if (103-y) said verification step (103) attests that said first unitary archive (FFw-1, FFw1-1) conforms to the input unitary archive (FFi), said first unitary archive (FFw-1, FFw1-1) being deleted (104) from the first data memory (DMw) and the step of creating (102) in said first data memory (DMw) a first archive unitary (FFw-1) from the input unitary archive (FFi) being implemented again in the opposite case (103-n). Procédé (10) selon la revendication précédente, pour lequel l’étape (103) de vérification de la pertinence de la première archive unitaire (FFw-1, FFw1-1) consiste en la comparaison de codes de redondances (Hi, H1) respectivement et préalablement calculés à partir de l’archive unitaire d’entrée (FFi, FFi1) et de la première archive unitaire (FFw-1, FFw1-1).Method (10) according to the preceding claim, for which the step (103) of verifying the relevance of the first unit archive (FFw-1, FFw1-1) consists of comparing redundancy codes (Hi, H1) respectively and previously calculated from the input unit archive (FFi, FFi1) and the first unit archive (FFw-1, FFw1-1). Procédé (10) selon l’une quelconque des revendications précédentes, comportant une étape de vérification (204, 205) de la pertinence de la deuxième archive unitaire (FFw-2, FFw1-2) créée au regard de la première archive unitaire (FFw-1, FFw1-1) préalablement à la mise en œuvre de l’étape (206) de suppression de la première archive unitaire (FFw-1, FFw1-1) dans ladite première mémoire de données (DMw), ladite étape de vérification (204, 205) consistant à :
  • déchiffrer (204) les champs de chaque archive élémentaire de la deuxième archive unitaire (FFw-2, FFw1-2) à l’aide de la clé de chiffrement/déchiffrement désignée dans l’enregistrement qui est associé à ladite archive élémentaire dans le conteneur associatif (CTw, CTw1) et créer une archive élémentaire de champs clairs dans une cinquième archive unitaire (FFw-2’) ;
  • évaluer la conformité (205) de ladite cinquième archive unitaire (FFw-2’) à ladite première archive unitaire (FFw-1, FFw1-1) ;
l’étape (206) de suppression de la première archive unitaire (FFw-1, FFw1-1) dans la première mémoire de données (DMw), n’étant mise en œuvre que si (205-y) ladite étape de vérification (205) de la pertinence de ladite deuxième archive unitaire (FFw-2, FFw1-2) atteste que ladite cinquième archive unitaire (FFw-2’) est conforme à la première archive unitaire (FFw-1), ledit procédé (10) comportant, dans le cas contraire (205-n), une étape de suppression (207) dans la première mémoire de données (DMw), de ladite deuxième archive unitaire (FFw-2) et de ladite cinquième archive unitaire (FFw-2’) provoquant une nouvelle mise en œuvre de l’étape de création (203) d’une deuxième archive unitaire (FFw-2) à partir de la première archive unitaire (FFw-1, FFw1-1) et de clés de chiffrement/déchiffrement ( ).
Method (10) according to any one of the preceding claims, comprising a step of verifying (204, 205) the relevance of the second unitary archive (FFw-2, FFw1-2) created with respect to the first unitary archive (FFw-1, FFw1-1) prior to the implementation of the step (206) of deleting the first unitary archive (FFw-1, FFw1-1) in said first data memory (DMw), said verification step (204, 205) consisting of:
  • decrypting (204) the fields of each elementary archive of the second unitary archive (FFw-2, FFw1-2) using the encryption/decryption key designated in the record which is associated with said elementary archive in the associative container (CTw, CTw1) and creating an elementary archive of clear fields in a fifth unitary archive (FFw-2');
  • assess the conformity (205) of said fifth unit archive (FFw-2') to said first unit archive (FFw-1, FFw1-1);
the step (206) of deleting the first unit archive (FFw-1, FFw1-1) in the first data memory (DMw), being implemented only if (205-y) said step of verifying (205) the relevance of said second unit archive (FFw-2, FFw1-2) attests that said fifth unit archive (FFw-2') is consistent with the first unit archive (FFw-1), said method (10) comprising, in the opposite case (205-n), a step of deleting (207) in the first data memory (DMw), said second unit archive (FFw-2) and said fifth unit archive (FFw-2') causing a new implementation of the step of creating (203) a second unit archive (FFw-2) from the first unit archive (FFw-1, FFw1-1) and keys of encryption/decryption ( ).
Procédé (10) selon la revendication précédente, pour lequel l’étape (205) de vérification de la pertinence de la deuxième archive unitaire (FFw-2, FFw1-2) créée au regard de la première archive unitaire (FFw-1, FFw1-1) consiste en la comparaison de codes de redondances (H1, H2’) respectivement et préalablement calculés à partir des première (FFw-1) et cinquième (FFw-2’) archives unitaires.Method (10) according to the preceding claim, for which the step (205) of verifying the relevance of the second unitary archive (FFw-2, FFw1-2) created with respect to the first unitary archive (FFw-1, FFw1-1) consists of comparing redundancy codes (H1, H2’) respectively and previously calculated from the first (FFw-1) and fifth (FFw-2’) unitary archives. Procédé (10) selon l’une quelconque des revendications précédentes, pour lequel l’étape (203) de création d’une deuxième archive unitaire (FFw-2, FFw1-2) n’est mise en œuvre que si (202, 202-y) des données contenues dans la première archive unitaire (FFw-1) sont concernées par des obligations contradictoires de conservation et de mise à jour mise à jour.Method (10) according to any one of the preceding claims, for which the step (203) of creating a second unitary archive (FFw-2, FFw1-2) is only implemented if (202, 202-y) data contained in the first unitary archive (FFw-1) are concerned by contradictory obligations of conservation and updating. Procédé selon l’une quelconque des revendications précédentes, pour lequel chaque archive unitaire consiste en un fichier plat, dont chaque archive élémentaire consiste en une ligne dudit fichier plat.Method according to any one of the preceding claims, for which each unitary archive consists of a flat file, each elementary archive of which consists of a line of said flat file. Procédé selon l’une quelconque des revendications précédentes, pour lequel le conteneur de données (Tw) consiste en une table courante et un conteneur associatif (CTw) consiste en une table associative.A method according to any preceding claim, wherein the data container (Tw) consists of a current table and an associative container (CTw) consists of an associative table. Produit programme d’ordinateur comportant une ou plusieurs instructions de programme exécutables par l’unité de traitement (PU) d’un système informatique (1), lesdites instructions de programme étant chargeables dans une mémoire non volatile dudit système informatique (1) et dont l’exécution par ladite unité de traitement (PU) provoque la mise en œuvre d’un procédé (10) selon l’une quelconque des revendications précédentes.Computer program product comprising one or more program instructions executable by the processing unit (PU) of a computer system (1), said program instructions being loadable into a non-volatile memory of said computer system (1) and the execution of which by said processing unit (PU) causes the implementation of a method (10) according to any one of the preceding claims. Support de mémorisation lisible par un ordinateur comportant les instructions d’un produit programme d’ordinateur selon la revendication précédente.Computer-readable storage medium comprising the instructions of a computer program product according to the preceding claim. Système informatique (1) comprenant une unité de traitement (PU), une mémoire comprenant les instructions de programme d’un produit programme d’ordinateur selon la revendication 15.Computer system (1) comprising a processing unit (PU), a memory comprising the program instructions of a computer program product according to claim 15.
FR2301077A 2023-02-06 2023-02-06 Process for managing data affected by conflicting retention and updating obligations Pending FR3145627A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2301077A FR3145627A1 (en) 2023-02-06 2023-02-06 Process for managing data affected by conflicting retention and updating obligations

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2301077 2023-02-06
FR2301077A FR3145627A1 (en) 2023-02-06 2023-02-06 Process for managing data affected by conflicting retention and updating obligations

Publications (1)

Publication Number Publication Date
FR3145627A1 true FR3145627A1 (en) 2024-08-09

Family

ID=86764840

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2301077A Pending FR3145627A1 (en) 2023-02-06 2023-02-06 Process for managing data affected by conflicting retention and updating obligations

Country Status (1)

Country Link
FR (1) FR3145627A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200026710A1 (en) * 2018-07-19 2020-01-23 Bank Of Montreal Systems and methods for data storage and processing
US20200409914A1 (en) * 2019-06-28 2020-12-31 Paypal, Inc. Data store transition using a data migration server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200026710A1 (en) * 2018-07-19 2020-01-23 Bank Of Montreal Systems and methods for data storage and processing
US20200409914A1 (en) * 2019-06-28 2020-12-31 Paypal, Inc. Data store transition using a data migration server

Similar Documents

Publication Publication Date Title
US10169606B2 (en) Verifiable data destruction in a database
US8667274B2 (en) System and method for WORM data storage
US7421740B2 (en) Managing user authorizations for analytical reporting based on operational authorizations
ES2445966T3 (en) System and procedure for storing redundant information
US9047228B2 (en) Systems and methods for data privacy and destruction
EP2084644B1 (en) Computer tool for managing digital documents
EP2653984A1 (en) Method and system for anonymizing data during export
US10783112B2 (en) High performance compliance mechanism for structured and unstructured objects in an enterprise
US20130332422A1 (en) Defining Content Retention Rules Using a Domain-Specific Language
US20200233977A1 (en) Classification and management of personally identifiable data
KR20220131234A (en) Information deletion guarantee system using distributed ledger
US11526506B2 (en) Related file analysis
US11657093B1 (en) Systems and methods for producing message search recommendations
Bell et al. Underscoring archival authenticity with blockchain technology
FR3145627A1 (en) Process for managing data affected by conflicting retention and updating obligations
US9400894B1 (en) Management of log files subject to edit restrictions that can undergo modifications
US11360935B2 (en) Efficient data storage management system
US10769118B1 (en) Systems and methods for storing data in multiple stages
FR2793906A1 (en) SYSTEM AND METHOD FOR MANAGING ATTRIBUTES IN AN OBJECT-ORIENTED ENVIRONMENT
US20210011685A1 (en) System and Method for Storing Data Records
WO2020136126A1 (en) Secure, tracked communication network
Klausing et al. Do Big Tech Responsibility Narratives Reflect Wilful Blindness or Path Dependence?
US20230394172A1 (en) Digital Asset (DA) Move Option Between Personal and Shared DA Libraries
Dutra Forensic acquisition of file systems with parallel processing of digital artifacts to generate an early case assessment report
US20230300193A1 (en) Programmatically mapping workloads to networked object storage

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240809