Windows équivalent à OS X Keychain?

Existe-t-il un équivalent du trousseau OS X, utilisé pour stocker les mots de passe utilisateur, dans Windows? Je l’utilise pour enregistrer le mot de passe de l’utilisateur pour un service Web utilisé par mon logiciel (de bureau).

Des réponses à cette question connexe ( Protection des mots de passe des utilisateurs dans les applications de bureau (Rev 2) ) et de la multitude d’outils de stockage de mots de passe tiers disponibles, je suppose qu’une telle chose n’existe pas. Suis-je mot de passe chaque fois que j’accède au service Web, ou simplement en le stockant obscurci?

    L’équivalent Windows “traditionnel” serait le sous-système de stockage protégé, utilisé par IE (pre IE 7), Outlook Express et quelques autres programmes. Je crois que c’est crypté avec votre mot de passe de connexion, ce qui empêche certaines attaques hors ligne, mais une fois que vous êtes connecté, tout programme qui le souhaite peut le lire. (Voir, par exemple, Protected Storage PassView de NirSoft .)

    Windows fournit également l’API CryptoAPI et Data Protection qui pourraient vous aider. Cependant, je pense que Windows ne fait rien pour empêcher les processus exécutés sous le même compte de voir les mots de passe des autres utilisateurs.

    Il semble que le livre Mécanique de l’identification et de l’authentification des utilisateurs donne plus de détails sur tous ces éléments.

    Eclipse (via sa fonctionnalité de stockage sécurisé ) implémente quelque chose comme ça, si vous êtes intéressé à voir comment d’autres logiciels le font.

    En fait, à travers MSDN, les fonctions qu’ils recommandent d’utiliser (au lieu du stockage protégé) sont les suivantes:

    CryptProtectData et CryptUnprotectData

    Le lien pour CryptProtectData est à:

    http://msdn.microsoft.com/en-us/library/aa380261(v=VS.85).aspx

    Windows 8 a une notion de trousseau appelé Password Vault. Les applications Windows Runtime (Modern / Metro) ainsi que les applications de bureau gérées peuvent l’utiliser. Selon la documentation:

    Les applications et les services n’ont pas access aux informations d’identification associées à d’autres applications ou services.

    Voir Comment stocker les informations d’identification de l’utilisateur sur MSDN.

    Pré-Windows 8, l’ API de protection des données (DPAPI) est l’équivalent le plus proche d’un trousseau. Les données arbitraires peuvent être chiffrées à l’aide de cette API, bien que le stockage des données chiffrées dépend du développeur. Les données sont finalement chiffrées à l’aide du mot de passe de l’utilisateur actuel, mais une «entropie facultative» fournie par l’utilisateur ou le développeur pourrait être incluse pour protéger davantage les données des autres logiciels ou utilisateurs. Les données peuvent également être déchiffrées sur différents ordinateurs d’un domaine.

    DPAPI est accessible via des appels natifs aux fonctions CryptProtectData et CryptUnprotectDataData de Crypt32.dll ou via la classe ProtectedData de .NET Framework, qui est un wrapper de fonctionnalité limitée pour les anciennes fonctions.

    Plus d’informations que vous avez jamais eu besoin de savoir sur DPAPI sont disponibles dans l’article DPAPI Secrets de Passcape. Analyse de sécurité et récupération de données dans DPAPI .

    Regardez Roboform ( http://www.roboform.com/ ). Je l’utilise tout le temps. Il existe également un programme gratuit sur SourceForge.net. En voici un sur CNET ( http://download.cnet.com/Password-Keychain/3000-2381_4-10072470.html ). Juste quelques-uns des centaines de programmes disponibles sur le marché. 🙂