Protection des données

De Wiki1000

Sommaire

La protection des données est un ensemble de mécanisme permettant d'assurer l'inaltérabilité et la sécurité des données.

La protection des données est mise en oeuvre :

Mécanismes

Mécanisme de protection

Le mécanisme de protection consiste à stocker dans un attribut technique séparé une copie des valeurs des attributs protégés.

Le mécanisme de protection assure aussi l'historisation des modifications des attributs protégés.

L'attribut de protection est stocké crypté dans la base de données.

Mécanisme de scellement

Le mécanisme de scellement consiste à stocker dans l'attribut technique de protection un sceau calculé sur les attributs scellés de l'objet. Pour répondre aux exigences réglementaires de chaînage ce sceau intègre le sceau de l'enregistrement précédent.

Le sceau précédent du premier enregistrement d'une classe scellée est un vecteur d'initialisation aléatoire (256 bits) stockée par le même mécanisme de protection que pour le stockage des clés de scellement et de cryptage.

Ce vecteur d'initialisation est propre à la classe scellée.

Règles métiers

L'intégrité d'un objet est testée dès que l'objet est instancié, une erreur d'intégrité provoque une exception de protection et l'objet ne peut pas être utilisé. Ceci se traduit par un message d'avertissement dans l'interface utilisateur et l'impossibilité de poursuivre l'opération.

L'intégrité du sceau n'est pas testée sauf lors des opérations de vérification de sceau.

Contrôles

Contrôle d'intégrité

Le contrôle d'intégrité consiste à vérifier que les valeurs courantes des attributs protégés correspondent aux dernières valeurs historisées de ces attributs.

La répération d'intégrité est une opération consistant à remplacer la valeur courante altérée par la dernière valeur historique. Cette opération est sûre du point de vue de la sécurité et peut être effectuée sans limite.

Tip-20px.png Tip : Dans tous les cas les opérations de réparations sont enregistrées dans le journal des évènements techniques

Contrôle des sceaux

Le contrôle des sceaux consiste à vérifier la chaîne des sceaux.

Un attribut scellé étant aussi protégé, un objet intègre ne peut pas avoir un sceau altéré sauf si la chaîne des sceaux est rompue. Le contrôle des sceaux est donc une opération qui permet de détecter la suppression d'enregistrement.

Tip-20px.png Tip : Du fait que les classes scellées ont systématiquement un compteur de validation associé, la détection des enregistrements supprimés peut aussi être réalisée en détectant les trous dans le compteur associé. Cette méthode peut être réalisée en SQL de manière plus rapide que la vérification des sceaux.

Il y a deux façons de vérifier les sceaux :

  • A partir du journal de scellement en vérifiant chaque enregistrement de journal.
  • A partir de la classe scellée en vérifiant la chaîne des sceaux à partir du premier enregistrement.

Réparation des sceaux

La réparation des sceaux consiste à marquer les enregistrements dont les sceaux précédents sont manquant. Techniquement elle est équivalente à l'enregistrement des trous provoqués par l'épuration des objets (voir ci-dessous).

L'opération de réparation des sceaux n'est pas librement accessible et ne peut être réalisée que sur supervision du support.

Les opérations effectuées par la réparation des sceaux sont enregistrées dans le journal des évènements techniques.

Bien que la chaîne des sceaux ai été réparée les trous apparaitrons toujours dans le contrôle des sceaux sous la forme d'enregistrement manquant.

Epuration des objets

Après archivage légal des périodes clôturées, il est autorisé d'épurer les données archivées.

Du fait que les opérations de validation ne sont pas des opérations chronologiques il est possible que l'épuration provoque la rupture de la chaîne des sceaux.

La prise en compte de ces trous légaux est réalisée en enregistrant dans l'enregistrement de sécurité N la valeur du sceau N-1 qui a été supprimée.

Exemple :

  Avant épuration :
    N-2   Sceau N-2
    N-1   Sceau N-1
    N     Sceau N
    N+1   Sceau N+1

  Après épuration de l'enregistrement N-1
    N-2 sceau N-2
    N   sceau N, sceau précédent égal à SN-1 enregistré au moment de la suppression de N-1
    N+1 sceau N+1
 
Tip-20px.png Tip : La présence des trous apparaitra quand même dans le contrôle des sceaux sous forme d'enregistrements manquants.

Journal des évènements techniques

Le journal des évènements technique est un journal protégé enregistrant l'ensemble des opérations intervenant dans la protection des données.

En autre, ce journal enregistre :

  • Les opérations d'initialisation de la protection
  • Les opérations de réparation
  • Les opérations métiers de validation des classes scellées
  • Les opérations d'épuration
  • Les opérations d'archivage

Cryptographie

Algorithmes

La mise en œuvre des mécanismes de protection fait appel aux algorithmes de cryptographie suivants :

  • Algorithme de cryptage symétrique
AES-256 mode CBC
  • Algorithme de hachage
HMAC-SHA-2 256 bits avec clé de 256 bits
  • Encodage des empreintes si nécessaire : base64

Gestion des clés

Les clés et vecteurs d'initialisation varient d'une base à l'autre et sont stockés dans une classe framework (TdbfKeystore) cryptés par une clé maître AES256 enfouie dans le logiciel.

Schéma de protection

Le schéma de protection (l'ensemble des classes et attributs protégés) peut être consulté directement dans le Concepteur de modèle.

Impacts sur les développements DSM

L'utilisation des APIs standards de Sage FRP 1000 permet de s'affranchir des problèmes potentiels posés par la mise en oeuvre de la protection.

Toutefois certaines pratiques ne sont plus permises et risquent de provoquer des erreurs de protection :

  • Mise à jour d'attributs protégés par SQL en utilisant un QueryBroker.
  • Suppression d'objet validés de classes scellées par SQL en utilisant un QueryBroker.
Tip-20px.png Tip : D'une manière générale n'utilisez plus de QueryBroker et en particulier pour faire des mises à jour
Outils personnels