J'ai une application python conçue pour fonctionner comme un service sur Linux, et on m'a demandé de l'installer sur une machine Windows XP dans un bureau où il n'y a pas de machines Linux (pour moi, cela rend bizarre et déroutant place car je n'ai pratiquement aucune expérience de développement pour Windows).Comment stocker en toute sécurité des informations d'identification de base de données pour une application Windows?
Sous Linux, l'application a son propre utilisateur et le fichier d'informations d'application et de base de données réside dans un dossier chiffré accessible uniquement par cet utilisateur. (Je tiens à préciser que je ne suis pas un cryptologue, et que s'il y a déjà des erreurs de sécurité flagrantes dans cette configuration, je suis très heureux de les avoir signalées!)
Comment puis-je obtenir un niveau équivalent de sécurité par des moyens similaires ou différents sur une machine Windows XP? C'est-à-dire, comment puis-je empêcher ceux qui ont accès à l'ordinateur ou au disque de modifier le programme ou de lire les informations d'identification? Un peu d'arrière-plan: la fenêtre Windows Host est une station de travail utilisée tous les jours par les utilisateurs avec des privilèges non administratifs. Les actifs sécurisés sont des données personnelles à peu près aussi sensibles que, par exemple, un rapport d'école. L'application est destinée à être utilisée par environ 10 personnes qui s'authentifient auprès de l'application avec des mots de passe individuels (stockés salés et hachés dans la base de données).
Il y a une question similaire qui a reçu la réponse:
on Windows you would store the credentials in the registry in a location protected by an ACL
Cependant, il ne touche pas sur l'aspect de la protection des fichiers de programme, et en outre, il semble supposer un niveau d'expérience Windows supérieur à celui que j'apprécie actuellement :) Je n'ai aucune idée de la façon de protéger les éléments de registre avec une liste de contrôle d'accès, ni comment je pourrais alors accéder aux clés protégées de mon programme. Des instructions simples pour un développeur dans un environnement inconnu seraient grandement appréciées!
Je crois que cette question serait plus appropriée pour http://SuperUser.com puisque ce que vous devez faire n'implique aucun codage. –
J'ai imaginé la possibilité de solutions qui nécessiteraient un nouveau code pour accéder aux données sécurisées stockées dans un format différent, par exemple. une clé de registre protégée. Je suis heureux que la question soit migrée si d'autres s'accordent sur le fait que ce serait plus approprié ailleurs. –
En fait, je pense que le plus simple est de simplement stocker les données dans un fichier sous le home-répertoire pour l'utilisateur (l'application aura besoin de son propre utilisateur dans Windows ainsi pour que cela fonctionne bien). Btw je suis désolé mais je n'ai pas assez de rep pour voter pour le migrer vers http://SuperUser.com –