PlugDB tire sa sécurité du composant matériel sécurisé dans lequel il est embarqué.
S’il existe une grande variété de tels composants sécurisés (mass storage SIM card, clé USB sécurisée, secure token, smart dongle, etc), tous peuvent être abstraits par (1) un Environnement d’Exécution de Confiance et (2) un grand espace de stockage (potentiellement sans confiance, et donc devant contenir uniquement des données chiffrées).
L’Environnement d’Exécution de Confiance est habituellement composé d’un microcontrôleur sécurisé (résistant aux attaques physiques), tandis que l’espace de stockage est habituellement constitué d’une mémoire Flash externe (puce de Flash ou carte micro-SD). Le moteur PlugDB s’exécute dans l’Environnement d’Exécution de Confiance et les données de l’individu sont hébergées dans la Flash externe et protégées cryptographiquement.
Exemples de composants sécurisés (Cliquer sur la figure pour agrandir)
La confiance portée à PlugDB est due à une combinaison de facteurs:
- le fait que PlugDB porte les données d’un seul individu, qu’aucun code externe ne puisse être installé dessus et qu’il faille être en sa possession physique pour l’attaquer,
- le microcontrôleur est sécurisé matériellement, rendant les attaques physiques ou par canaux cachés très difficiles,
- l’auto-administration de PlugDB, qui évite les attaques internes par l’administrateur d’un serveur,
- le fait que le propriétaire d’un serveur personnel lui-même ne peut pas accéder à toutes les données stockées, ni aux clés de chiffrement, puisqu’il doit s’authentifier et accède aux données selon ses privilèges.
La combinaison des points (1) à (3) diminue significativement le ratio bénéfice/coût d’une attaque et minimise ainsi l’intérêt d’une telle attaque. Le point (4) est également d’une grande importance dès lors que l’on envisage des traitements distribués entre plusieurs individus, du partage à grain fin ou du contrôle d’usage.
Suivant : A propos des verrous technologiques