Comme votre but est de stocker les privilèges des utilisateurs directement dans un fichier XML, vous avez besoin d'un niveau de sécurité qui va au-delà de la simple interdiction de modifier le fichier. Même si vous pouviez (hypothétiquement) imposer une certaine restriction au niveau du système d'exploitation par rapport à l'édition du fichier, tout utilisateur administratif pourrait simplement modifier le fichier sur un autre ordinateur, puis écraser votre version protégée.
Ainsi, vous devez supposer que les utilisateurs peuvent modifier le fichier. Le seul recours que vous avez est d'être capable d'identifier quand ils ont, et d'ignorer leurs modifications.
L'approche que vous suggérez de créer un certificat sonne exactement comme il faut. Vous pouvez soit calculer un hachage pour le fichier entier, soit le faire utilisateur par utilisateur (selon ce qui a le plus de sens dans votre contexte), dans les deux cas en utilisant une clé privée ou secrète pour vous assurer que quelqu'un n'édite pas le fichier recalculer simplement le hachage.
comment crypter les données? avec clé publique et privée? –