Bases de données d'Hippocrate
# Bases de données d'Hippocrate

La notion de bases de données d'Hippocrate concerne la préservation des données privées des personnes dans les bases de données informatiques. Rappelons que les lois, dans de nombreux pays, et l'autorégulation obligent les entreprises à considérer que les informations personnelles appartiennent à la personne et que l'entreprise en est simplement dépositaire.

## Menaces

Les menaces sont nombreuses :

* Indiscrétion de la part des employés. Par exemple, l'administrateur peut presque toujours consulter tout le contenu des bases ; les utilisateurs avancés ont souvent un accès total à ces bases ;
* Failles du système d'information : par exemple, lors d'une erreur, le message peut laisser voir des données normalement privées ;
* Vols de données ;
* Vente de données dans un objectif d'exploration de données ;
* Utilisation de ces données dans un but différent de ce qui était promis au départ.

## Problématique

La problématique de protection de la vie privée impose deux notions principales:

* Notification: l'utilisateur doit être notifié de la façon dont sont utilisées ses données.
* Consentement: l'utilisateur consent à l'utilisation de ses données dans ce cas d'utilisation.

Prérequis: cet article fait appel à des connaissances en administration des bases de données.

## Description

### Définition

Une base de données peut s'appeler « d'Hippocrate » si deux exigences sont remplies:

* le système hippocratique gère les préférences individuelles des utilisateurs. Par exemple, l'un acceptera que ses données soient utilisées pour faire des statistiques sur les groupes sanguins, l'autre pas.
* le système hippocratique se couvre contre les accès illégaux de tous les acteurs du système: l'utilisateur de base ne peut pas voir des données des autres, pas plus que l'utilisateur avancé (par exemple le docteur, que l'on prend pour quelqu'un de sérieux et probe), ni l'administrateur de base de données, ni l'administrateur des systèmes (la personne de l'entreprise qui se charge d'installer, de configurer ou de gérer les applications sur les serveurs), ni le directeur général… qui peut exercer son pouvoir sur les administrateurs de base de données pour exiger de voir certains enregistrements privés.

Deux exigences :

* Les préférences sont individuelles
* La protection est cohérente

### Premiers corollaires

* La gestion hippocratique doit être gérée au cœur du système de gestion de base de données et non dans un framework ou dans une couche supérieure. Ce n'est que par ce moyen que l'on pourra appliquer une politique de confidentialité uniforme et cohérente contre tous les acteurs du système.
* Il est nécessaire d'ajouter un contrôle du contexte: un chercheur en statistiques peut accéder à l'identité de ses sujets dans un certain contexte (vérifier leur honnêteté par exemple) et à la variable qu'ils ont accepté de fournir (s'il leur était arrivé de mentir à un juge par exemple) mais n'a pas de droit d'accès aux deux à la fois.
* Il est nécessaire de récupérer les préférences des personnes. C'est là que les langages tels que EPAL et P3P deviennent utiles. Ces langages assurent la communication entre un serveur web et un client web (Mozilla par exemple) et assurent la fonction « notification et consentement » à l'utilisateur. Ils facilitent donc la transmission des préférences personnelles à la base de données.
   * P3P est un langage libre et créé en commun avec plusieurs acteurs de l'informatique.
   * EPAL est un langage d'IBM qui assure la communication jusqu'au Tivoli Privacy Manager, l'interface d'IBM pour la gestion de la sécurité dans DB2 (le SGBD d'IBM).
* Il est nécessaire de procéder à des audits de sécurité. Ainsi, si un directeur oblige un DBA à livrer le contenu de sa base, ce qui restera toujours possible, les associations de consommateurs seront alertées en consultant les rapports d'audits de sécurité effectués par un tiers.

### Quelle différence avec la gestion des droits actuelle ?

La gestion des droits actuelle se base sur les définitions suivantes :

* Utilisateurs
* Rôles
* Privilèges

Un utilisateur endosse plusieurs rôles. Par exemple un directeur commercial est un commercial (donc tous les droits des commerciaux en termes d'accès à leurs applications) et un directeur (donc des droits qu'ont tous les directeurs de l'entreprise sur la gestion de leurs employés, des finances, etc.). Chaque rôle est associé à un ensemble de privilèges. Par exemple, le commercial aura accès à tout son catalogue en termes de prix de vente, d'intéressement, etc. mais ne pourra pas voir les prix d'achat des mêmes produits.

Donc la différence entre une gestion des droits comme celle-ci, et une autre "d'Hippocrate" est que la seconde s'appuie sur:

* une gestion du contexte
* et une gestion ligne par ligne des préférences

### Ce que le concept « hippocratique » permet

* éviter que les personnes/applications accèdent à des données en dehors de leurs études justifiées.
* permettre, lors d'exploration de données et de revente de fichiers, d'éviter de tirer des données tellement personnelles qu'il soit possible de retrouver l'identité de la majorité des individus.
* crédibiliser la gestion des données privées.

### Origine du nom

La notion a été principalement inventée par Rakesh Agrawal, chercheur au centre d'Almaden d'IBM (Silicon Valley).

