J'utilise Windows DPAPI pour crypter certaines données sensibles pour moi. Le chiffrement est stocké dans le registre. Tout cela fonctionne bien, mais je me demandais si quelqu'un pouvait clarifier ma compréhension des octets 'entropy' qui sont (facultativement) fournis à ProtectedData.Protect() dans .NET. Le tableau d'octets «entropy» semble être analogue à un vecteur d'initialisation ou à un sel utilisé avec d'autres schémas de cryptographie, mais je ne pouvais pas voir une bonne description des octets d'entropie dans MSDN. Les exemples de code que j'ai vu juste du code dur dans les octets d'entropie!Windows DPAPI - quoi faire avec l'entropie?
Les octets d'entropie sont-ils fournis à ProtectedData.Protect() & ProtectedData.Unprotect est-il analogue à un IV ou un sel? Les octets d'entropie peuvent-ils être stockés en toute sécurité à côté du chiffre, ou cela compromettrait-il la sécurité?
Merci, bonne réponse. Donc, je suppose que codage en dur l'entropie dans l'application n'est pas un désastre complet, mais mieux de le traiter comme une clé. Comme je crypte une clé de toute façon, avoir une autre «clé» pour protéger la clé devient un peu fou. – saille
Aye, c'est un peu un concept compliqué. Mais le trou de sécurité que «l'entropie» vise à brancher est très réel. Le cryptage spécifique à Credential dans Windows est très pratique pour l'utilisateur, mais il ouvre de nouvelles opportunités pour les programmes malveillants de déchiffrer ces données alors qu'ils ne le devraient pas. De plus, ne supposez pas qu'un programme "autre" est bénin ... un logiciel malveillant dont l'utilisateur ne sait même pas qu'il se trouve sur son système peut essayer de rechercher des données cryptées qui ne sont pas entropiques. – jrista