La vie secrète de Windows Codage n'est pas synonyme de chiffrement

Raymond Chen

Start menu Utilisation informations sont codées, un mot que vous sélectionnez avec soin pour ne pas tromper — dans le Registre. Codage est sur Modifier le formulaire de données, chiffrement suggère que récupérer le texte brut est destiné à être difficile : Il n'est pas. Cryptage indique également que l'algorithme de codage est supposée pour être résistants aux attaques : Il n'est pas.

Les informations relatives à l'utilisation sont codés afin qu'il n'est pas activer lors des recherches F3 dans le Registre pour SomeAppName.exe. Ces recherches se produire lorsque les personnes exécuter vérification manuscrite «désinstaller»outils qui parcourt le disque dur et le Registre. Si les informations relatives à l'utilisation d'ont été enregistrés au format texte brut, ces outils pourraient trouver l'entrée de la base de données de l'utilisation, puis désinstaller un bon rapport comme incomplète. Toutefois, la désinstallation de programmes ne sont pas censés pour supprimer cette clé de Registre. N'a pas de créer ;ils ne doivent supprimer. En fait, des informations sur l'utilisation sont censée survivent la désinstallation. De cette façon, si un utilisateur désinstalle et réinstalle puis un programme, démarrer menu peut par exemple, «Bienvenue sauvegarder ! Voici votre endroit high-ranking sur le menu Démarrer."

Codage sert également d'un signal pour les programmeurs : «Vous pas doivent endommager ainsi.» Si les programmeurs tromper avec lui, ils doivent appliquer l'algorithme de décodage (très simple mais toujours non null) avant de continuer. Cela rend les mises à jour, suppressions et autres types de messing autour de ces valeurs du Registre impossible faire par inadvertance. Lorsque vous démarrez pounding en un algorithme de décodage des données dans une clé de Registre non documentées, vous avez configuré évidemment à ce sujet intentionnellement. J'espère que à un moment donné une voix dans votre tête vous indique, "Peut-être je ne suis pas censé pour faire cela."

En d'autres termes, le codage sert "Trespassing de non"se connecter. Il n'empêche personnes d'entrer votre propriété, mais rend désactivez que leur présence est indésirables et supprime leurs «Mais je ne sais!»défense.

Le codage n'a rien à avec la sécurité. Elles sont stockées dans la ruche utilisateur, l'accès est déjà limité à l'utilisateur (et les administrateurs). Aucune informations sensibles, telles que les mots de passe, n'obtient stockées il. Le codage est simplement un ralentisseur pour donner aux développeurs d'applications qui tentent de falsifier les valeurs du Registre, si d'ignorance ou carelessness, une autre possibilité de réaliser que les informations n'est pas réellement les.

Bien entendu, les inégalités vitesse ne s'arrêtent aux programmeurs d'écrire les fonctions de coder et décoder les données quand même pas. Avec un exemple je trouvé, si un utilisateur reconfiguré le programme, le programme doit manipuler à son tour les données de l'utilisation, et ce n'était pas partie d'une désinstallation ;Il s'est produite lors de l'exécution. En d'autres termes, les programmeurs réglé intentionnellement pour manipuler les données d'utilisation et ainsi modifier le programme de positionnement dans le menu Démarrer.

Déterminer l'algorithme de décodage est difficilement entraîner pour bragging — il n'est pas difficile à faire. Et en outre, l'algorithme de décodage peut-être ne pas être celui que vous rebours malgré tout, car en cours d'utilisation peut-être une autre clé de Registre (également non documentée) pour la modification de l'algorithme de codage. Le programme que vous indiquez dans l'exemple n'a pas prendre ce ride supplémentaire en compte. Si le codage n'a pas été défini sur sa valeur par défaut, l'outil a trouvé des utilisation de données qu'il perçue comme étant endommagés. Heureusement qu'il le code n'a pas essayer de «réparer»qui !

Un des critères pour le codage est qu'il doit être extrêmement rapide comme n'étant ne pas pour ralentir les décisions relatives à ce qui se passe dans le menu Démarrer. Vous voulez 80 pour cent de l'heure de démarrage menu début dans une fonction de chiffrement.

L'algorithme de codage est resté inchangé car il a été introduit dans Windows 2000, afin que les informations doit être reportées lors de la mise à niveau vers Windows XP et Windows Vista.

Toutefois, Les développeurs menu Démarrer de Windows 7 modifier temporairement l'algorithme de codage. Cela étaient avec décisions pour modifier le format des informations de l'utilisation d'application et ne pas à exécuter sur les anciennes informations de l'utilisation des versions antérieures de Windows. Modification de l'encodage algorithme apportée de faire la distinction ancien à partir de plus facile de nouvel données. Cette modification temporaire déclenché un débordement de misinterpretations parmi les observateurs de Windows, qui par défaut lors d'un nouveau codage que les développeurs de menu de démarrage ont été «résolution»Faible «chiffrement»avec un faible différent «chiffrement», mais c'était jamais cryptage en premier lieu. Avec la version finale, l'algorithme de codage d'origine sera en place. Après tout, le codage d'origine est ce qu'exécute le contrat sociale implicite.

Raymond Chen site Web, The Old New Thing et même intitulé livre (Addison-Wesley 2007) concernent l'historique de Windows et la programmation Win32. Il code parfois des informations à traduire en allemand (mal).