Deux visions du monde s'opposent depuis longtemps: la protection par l'obscurantisme, et celle par la transparence. On est pas loin de la vision propriétaire - libre (on les retrouve dans tous les trolls ceux-là).

Vous vous rappelez de moi ? Je reprends à nouveau la plume sur le blog de Maxime. Je ne peux plus vous parler de ce que je ne regarde pas à la télé car ces derniers temps, je ne l'ai plus regardée du tout. Rien, nada. Même pas les guignols. Même plus un ptit DVD. Bref, je vous propose un peu de vulgarisation informatique sur un sujet qui m'est passé par la tête en modérant quelques joueurs sur un jeu en ligne.

Pour cacher vos données, comme pour cacher vos biens, deux solutions.

La premiere, la plus primaire, consiste à les mettre là ou personne ne pensera à les chercher, et derrière un piège maison. Par exemple planquer votre argent dans la cave, 5e pierre à droite, 8e pierre en haut, derrière une poche d'acide qui explose si l'on déplace la pierre sans préalablement la déplacer vers le haut, une fois à gauche puis une fois à droite.

L'avantage c'est que ca reste bien secret. Les egyptiens l'ont fait ca marchait pas mal. L'inconvénient, c'est qu'une fois que le secret est connu, tout le monde peut s'en servir, et vous n'avez plus qu'à inventer un tout nouveau système et une toute nouvelle cachette.

Dans l'informatique, c'est aussi ce que font beaucoup de developpeurs de logiciels. Ils enregistrent leurs données dans un format imbitable, un peu crypté par des trucs à eux, que tant que personne ne sait comment ca marche.... c'est bon. Sauf qu'on sait comment ca marche. Il y a des fuites. Il y a un ptit mec qui fait du reverse enginering et qui trouve la méthode. Et qu'est ce qu'on fait alors ? On le dit à tout le monde.
Face à ce genre de problème (un logiciel distribué à grande échelle ne peut pas réinventer sa cachete secrete si facilement), la réaction de l'éditeur est souvent dans la même idée de l'obscurantisme. Bailloner celui qui sait. Interdire de le répéter. Interdire de regarder le code source du programme (C'est d'un délire ! C'est comme interdire à un mec de démonter le réveil qu'il vient d'acheter. D'ailleurs c'est ce que les constructeurs essaient encore de faire: si l'on touche à l'objet la garantie est détruite) Attaquer tous ceux qui osent dire à tout le monde que leur système est pourri. A la fin de la construction d'un château fort plein de secrets, on coupait la tête aux ingénieurs et maçons.

Evidement, ceci n'est pas une solution. D'où l'autre méthode. Le moyen pour crypter est montré à tout le monde. Le code est disponible, la méthode est connue. Et l'on protège par un mot de passe. Comment ca se passe alors ?
Si un trou est trouvé, c'est souvent par des gens qui le diront à tout le monde. Dont les développeurs du logiciel qui arrangeront le problème au lieu de faire semblant qu'il n'existe pas (même s'il faut rediffuser le logiciel. D'ou la nécessité des updates). Si un mot de passe est trouvé, cela ne concernera qu'un seul document. La méthode reste infaillible (sauf avec tous les ordinateurs de la nasa mais comme on sait, la NASA a autre chose à faire que de casser votre document winzip, par contre, un gamin qui a recu la méthode pour le faire, lui...).
Contrairement à l'obscurantisme où l'on se voile la face en espérant que les gens qui savent ne diffuseront pas l'info, la transparence nécessite d'être réactive, et le résultat est meilleur.

N'oubliez pas tous ces gens qui furent attaqués en justice pour avoir trouvé un trou dans un système (ou un objet, comme le Velux qui s'ouvre de l'extérieur).

Maintenant il y a un niveau où l'obscurantisme reste une bonne solution : lorsqu'on gère des boulets.
Dans un cas normal, les gens en face sont des geeks, des programmeurs, des hackers. Essayer de leur cacher des informations est stupide pour ne pas dire illusoire. Mais contre un boulet c'est différent. Le boulet est multiple et il en apparait des nouveaux à chaque fois. C'est à dire que pour un boulet qui apprends des ficelles, 10 nouveaux ignorants arrivent. Evidement, "ceux qui savent" restent dangereux, mais pour ceux qui ne savent pas, un manque de transparence est très utile.

Pour exemple, un jeu en ligne où l'on interdit à une même personne de se créer plusieurs comptes, différentes méthodes sont utilisées pour repérer les tricheurs : ceux qui utilisent la même adresse ip pour créer pleins de comptes, ceux qui utilisent des logins différents mais le même password, ceux qui se créent pleins de comptes à la suite, voire tout cela à la fois. Et oui, les boulets sont aussi peu subtils que ça.
Lorsque l'un d'entre eux s'étonne qu'on ferme ses 20 comptes provenant tous de la même IP statique Free, avec que des e-mails au même provider (mais pas Free), on lui dit qu'il a triché, mais on ne lui dit pas comment on l'a découvert. Si on lui disait "toujours la même ip ahahahahah" il apprendrait à utiliser des proxys et ne répeterai pas l'erreur. Pour notre avantage, que le boulet reste boulet. Il pensera qu'il a créé ses comptes trop à la suite ou que les logins dans ses emails se ressemblent trop, et changera cela ce qui nous empêchera pas de le contrer encore (de toutes façons son ip n'a plus droit de visite ;)

Moralité, évitez la politique de l'autruche. Cela peut être utile pour éviter les hackers du dimanche, mais vous prive de l'aide de tous les autres[1]. Et dans tous les cas, réparez les trous quand même :)

[1] Et oui je sais que les capitalistes de base n'y croient pas, mais quand un hacker trouve un trou, il le dit aux concepteurs. Gratuitement. Comme ca.