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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000014759 maintenance of location Effects 0.000 title abstract description 11
- 230000008569 process Effects 0.000 title description 14
- 238000012545 processing Methods 0.000 claims abstract description 109
- 238000013523 data management Methods 0.000 claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 74
- 238000012986 modification Methods 0.000 claims description 21
- 230000004048 modification Effects 0.000 claims description 21
- 238000012217 deletion Methods 0.000 claims description 19
- 230000037430 deletion Effects 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 12
- 230000008094 contradictory effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008676 import Effects 0.000 description 27
- 238000012550 audit Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 230000033228 biological regulation Effects 0.000 description 5
- 230000006378 damage Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 241000135309 Processus Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 241000391391 Lanius collaris Species 0.000 description 1
- 241000548599 Omma Species 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 241001080024 Telles Species 0.000 description 1
- 241000897276 Termes Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 240000008042 Zea mays Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database 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
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.
- 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 ;
- de création, dans la première mémoire de données :
- une étape de suppression de la première archive unitaire dans la première mémoire de données.
- 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;
- of creation, in the first data memory:
- 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.
- 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.
- 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 ;
- 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;
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:
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.
- 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).
- “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
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
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
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
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
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
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 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
- 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 « ; ».
- 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
- 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.
- 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
La
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
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é
Les clés de chiffrement/déchiffrement
L’invention prévoit de nombreuses alternatives : chiffrer l’ensemble d’une archive élémentaire à l’aide d’une clé
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
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
- 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.
- an encryption/decryption key chosen from the set
- 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
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
Ladite
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
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
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
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
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
Une mise en œuvre d’un tel sous-traitement 300-D est illustrée par la
Ladite
La
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
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.
- 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 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
Ladite
La
Le nouvel enregistrement CTw1R3 de ladite table associative CTw1 comporte :
- un attribut UK, référencé CTw1R3A1 sur la
- 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.
- a UK attribute, referenced CTw1R3A1 on the
- 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
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’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
La
En exploitant la table associative CTw1 décrite en lien avec ladite
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
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)
- 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 (
- 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 (
- d’autant de 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) ;
- de création, dans la première mémoire de données (DMw) :
- 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).
- 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 (
- of a second unit archive (FFw-2, FFw1-2) from the first unit archive (FFw-1, FFw1-1) and said encryption/decryption keys (
- of as many 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);
- of creation, in the first data memory (DMw):
- a step (206) of deleting the first unit archive (FFw-1, FFw1-1) in the first data memory (DMw).
- 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.
- 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.
- 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).
- 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).
- 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.
- 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.
- 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) ;
- 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);
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)
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 |
-
2023
- 2023-02-06 FR FR2301077A patent/FR3145627A1/en active Pending
Patent Citations (2)
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 |