Protection des données
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 :
- Par des classes protégées contenant des attributs protégés.
- Par des classes scellées mettant en oeuvre un mécanisme de scellement des enregistrements.
- Par des classes journaux enregistrant de manière sécurisé les opérations.
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 : 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.
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 : 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.