Partager

Vers un audit complet et confidentiel des accès aux données partagées

Crédit : TheDigitalArtist@pixabay
Dans les systèmes distribués manipulant des données sensibles, (dossiers médicaux, bancaires, judiciaires), maintenir une trace fiable des accès est une exigence de sécurité essentielle. Pourtant, la notion d’audit dans ces systèmes reste encore peu explorée dans la littérature scientifique, et les approches existantes peinent à concilier exhaustivité des traces et confidentialité des accès. Pour répondre à ces enjeux, le CEA-List et ses partenaires, l’Israel Institute of Technology, IMDEA Institute en Espagne et l’Université Aix-Marseille en France, ont développé un nouveau cadre formel pour auditer les accès sans fuite d’information.

Un système distribué est un système informatique dans lequel plusieurs ordinateurs distants coopèrent pour effectuer des tâches. Lorsque ces systèmes manipulent des données sensibles (santé, finance, justice, …), savoir qui accède à quelles informations et garder une trace fiable de ces accès est une exigence de sécurité majeure. Pourtant, dans la pratique, garantir un audit fiable dans ces environnements reste complexe.
 


Opérations des acteurs dans un système de données partagées.


 

Un double défi pour l’audit des accès

Auditer les accès aux données pose deux problèmes fondamentaux.

Le premier concerne l’exhaustivité de l’audit. Dans un système distribué, les données sont réparties sur plusieurs machines et les opérations peuvent être interrompues à tout moment (pannes, coupures réseau, arrêt volontaire d’un processus). Or, la plupart des approches existantes considèrent qu’une lecture n’est auditée que si elle se termine complètement. Un utilisateur malveillant pourrait exploiter cette lacune conceptuelle en lisant une donnée puis en simulant une panne pour éviter d’être détecté.

Le second problème, jusqu’alors non formalisé, concerne la confidentialité des audits eux-mêmes. Dans un système distribué, si les traces d’accès sont accessibles à tous, un lecteur curieux, respectant pourtant les règles du système, peut déduire qui a consulté quelles données. Cette fuite d’information, bien que passive, est problématique dans de nombreux contextes sensibles.

 

Repenser les principes de l’auditabilité

Pour résoudre ce double problème, les chercheurs du CEA-List et leurs partenaires ont reformulé la notion d’auditabilité en introduisant deux nouvelles définitions formelles qui constituent le socle conceptuel de ce travail.

La première caractérise ce qu’est une lecture effective. Cette nouvelle définition capture le moment où un lecteur connaît la valeur qu’il consulte, même si la lecture est interrompue brusquement.

La seconde formalise la notion d’opération non-compromise, qui garantit que l’on ne peut pas distinguer si une opération sur des données a eu lieu ou non. Appliquée à l’audit, cette propriété garantit qu’un lecteur ne peut ni connaître des données qu’il n’a pas effectivement lues, ni détecter les accès des autres utilisateurs.

 

Une solution algorithmique formellement prouvée

Sur le plan algorithmique, l’idée centrale est de fusionner l’accès à une donnée et son enregistrement dans le journal d’audit en une seule opération indivisible. Cette fusion assure qu’une lecture laisse une trace même si elle a été interrompue.

Pour empêcher les lecteurs d’espionner les accès des autres, le journal d’audit est protégé par un chiffrement simple mais incassable. Ainsi seuls les auditeurs possédant la clé secrète initiale peuvent, en comparant l’état final du journal avec cette clé, identifier précisément qui a effectivement lu quoi.

 


Nouvelle définition des audits des systèmes de données partagées.


 

L’algorithme a été formellement prouvé, garantissant que le système fonctionne de manière fiable dans toutes les situations :

  • les données restent cohérentes malgré les accès multiples (quand on consulte une donnée, on voit bien la dernière valeur qui lui a été attribuée),
  • aucune panne ne peut bloquer le système,
  • toutes les lectures sont effectivement tracées,
  • et la confidentialité des traces est préservée même face à des lecteurs curieux observant l’audit.

 
 

Et après ?

Les travaux ouvrent plusieurs perspectives. Parmi elles : renforcer la séparation des rôles pour limiter l’accès aux données d’audit, prendre en compte des audits de données au sein de systèmes distribués plus complexes et se prémunir contre des coalitions de lecteurs qui tenteraient de croiser leurs observations pour reconstituer l’historique des accès.

Autant de directions à explorer pour tendre vers un audit complet et confidentiel des accès aux données partagées.

Notre solution permet de tracer chaque accès aux données d’un système distribué tout en protégeant la confidentialité de ces accès.

Rebecca Cabean

Alexandre Rapetti

Ingénieur-chercheur — CEA-List