Je souhaite transférer les informations de nom d'utilisateur et de mot de passe d'un processus à un autre qui s'exécute sur le même serveur sous Windows. Quelle est la meilleure approche pour réaliser ce transfert de manière sécurisée? Une approche simple consiste à copier les mots de passe dans un fichier, puis à lire l'autre processus à partir d'un fichier, puis à supprimer le fichier une fois qu'il a été lu. Bien que ce soit simple, je suis inquiet si c'est sécurisé, car il est toujours possible pour quelqu'un d'avoir accès à ce fichier, même si elle ne vit que pendant une courte période de temps & a également la possibilité de laisser le fichier si l'autre traite les erreurs ou se bloque. Les IPC comme les sockets et les pipes nommées semblent être une surpuissance pour ce problème. Je suis plus enclin à utiliser des fichiers mappés en mémoire comme expliqué dans ce lien ci-dessous qui parle de partage de mémoire entre processus. Est-ce la bonne approche? En outre, est-ce une bonne idée de remplir la mémoire avec des données factices avant de libérer/effacer pour empêcher les processus de rouge de nettoyer les données de cet emplacement de mémoire?Comment transférer des données sensibles entre les processus dans Windows?
http://msdn.microsoft.com/en-us/library/aa366551(VS.85).aspx
Votre première tâche consiste à s'assurer que vous cryptez vos données. Ensuite, travaillez sur la façon de passer entre les processus. Travailler sous l'hypothèse que, quelle que soit la méthode que vous utilisez pour transmettre les données à travers les processus, quelqu'un sera en mesure de trouver les données. – Jeremy
Si j'opte pour le cryptage des données, je me retrouverai avec un gros problème sur la gestion des clés. Ne pensez-vous pas que c'est une grosse surcharge pour une tâche si simple? – msvcyc