L’idée maîtresse de PlugDB est d’embarquer dans des composants matériels sécurisés (ex: cartes à puce à grande capacité de stockage) des briques logicielles capables d’acquérir, de stocker et de gérer des formes variées de données personnelles (ex: feuilles de salaire, factures, relevés bancaires, données médicales, traces de géolocalisation, etc) en fonction des applications cibles.
PlugDB organise l’espace personnel d’un individu sont la forme d’une base de données relationnelle contenant les données elles-mêmes et/ou des liens vers des données chiffrées stockées sur un PC ou sur des serveurs externes.
Des règles de partage sont ensuite définies par l’individu. Certaines de ces règles peuvent être prédéfinies (ex: dans le domaine médical, des prérogatives strictes sont définies pour chaque rôle médecin, infirmière, kiné, etc) et peuvent être enrichies par l’individu au besoin.
Quand un utilisateur ou une application se connecte au serveur personnel d’un individu (voir figure), il s’authentifie grâce à son empreinte biométrique et peut ensuite interroger les données. Le moteur PlugDB embarqué dans l’enceinte sécurisée de la puce calcule la réponse à ces interrogations en fonction de la vue autorisée à cet utilisateur/application.
Ainsi, les données de Jules peuvent être exposées de façons différentes selon qui les interroge. Le serveur personnel de Jules peut même autoriser un utilisateur/application à voir le résultat d’un calcul (ex: une moyenne) sur des données qui restent elles secrètes. Le moteur PlugDB hérite de la sécurité physique de la carte à puce, offrant de très fortes garanties de non contournement des règles d’accès.
Une archive chiffrée du contenu du serveur personnel est maintenue sur un serveur afin de pouvoir restaurer les données personnelles en cas de perte ou de destruction accidentelle. La clé permettant de déchiffrer cette archive est stockée via un mécanisme de séquestre auquel seul l’individu propriétaire des données a accès.
Suivant : Hardware security