Catégories
Architectures ouvertes

Bon chas­seur et mauvais chas­seur : archi­tec­tures et données person­nelles

Pour proté­ger les données des utili­sa­teurs il y a des bonnes archi­tec­tures et des mauvaises archi­tec­tures.

C’est aussi simple que cela. Ne vous lais­sez pas dire que tous les systèmes sont faillibles, qu’il y a de bonnes raisons, ou que ce n’est pas impor­tant. C’est vrai, mais il reste que votre archi­tec­ture peut être bonne ou mauvaise. Ça aura un impact un jour ou l’autre, plus rapi­de­ment que vous ne l’es­pé­rez.

Stocker en clair c’est mal

Des gens meilleurs que vous s’y sont lais­sés prendre. Des socié­tés solides se sont faites avoir. Y compris des gens qui avaient de bonnes raisons tech­niques ou fonc­tion­nelles de faire ainsi.

Rien ne change, si vous stockez les mots de passe en clair (ou de façon déchif­frable), un jour une faille logi­cielle ou système y donnera accès et vous aurez un gros problème avec vos utili­sa­teurs.

Dans le meilleur des cas vous serez préve­nus rapi­de­ment et vous aurez juste une très mauvaise publi­cité comme Sony récem­ment, avec le risque de perdre la confiance de tous vos clients. Dans le pire… vous ne le remarquez que trop tard et vous pouvez mettre la clef sous la porte avec des problèmes juri­diques, finan­ciers et humains insol­vables.

Ne pas utili­ser SSL / TLS pour les commu­ni­ca­tions réseau c’est mal

Des gens meilleurs que vous s’y sont lais­sés prendre. Des socié­tés plus solides se sont faites avoir. Ai-je besoin de tout répé­ter ?

Si vous ne chif­frez pas toutes les commu­ni­ca­tions réseau avec vos clients dès que vous trans­fé­rez des données sensibles, vous prenez un risque impor­tant pour la sécu­rité des dites données. Chif­frer unique­ment la phase d’au­then­ti­fi­ca­tion ne suffit pas, quoi qu’on vous dise.

Vos utili­sa­teurs ont besoin d’une connexion sécu­ri­sée. Tout le reste n’est que bidouillage et mauvaise archi­tec­ture. Tôt ou tard il y aura un abus d’un état, d’un FAI, d’une entre­prise, d’une école, qui aura un peu de publi­cité et qui vous posera un problème impor­tant.

Chif­frer avec la clef de déchif­frage sur le serveur c’est mal

Non, je ne vais pas me répé­ter encore une fois, si ce n’est pour dire que vous n’êtes pas un cas spécial.

Chif­frer et déchif­frer sur le serveur en lais­sant la clef sur place, c’est comme avoir une porte blin­dée avec serrure trois points et lais­ser la clef sous le pot de fleur à côté. Pour faire court, si c’est le serveur qui chiffre, déchiffre, et gère la clef, c’est comme si vos données étaient en clair, ou presque.

Drop­box avait fait de la publi­cité autour de la sécu­rité de leur service. Ils avaient une unique clef de chif­frage, sur leur serveur. Les utili­sa­teurs ont râlé, fait de la mauvaise publi­cité, et même porté plainte. D’au­cuns ont dit que ce n’était pas impor­tant.

Voilà hier qu’un problème tiers a donné accès pendant quatre heures à toutes les données de tout le monde, sans mot de passe. Ça ne serait pas arrivé si chaque client gérait sa propre clef, sans la parta­ger avec Drop­box.

Les râleurs n’avaient pas de boule de cris­tal, ce qui est arrivé était évident. On savait que ça arri­ve­rait, et on peut dire que les consé­quences ont été les extra­or­di­nai­re­ment faibles par rapport aux risques. La prochaine fois ce sera bien plus gênant.

Quelle que soit la raison, une mauvaise archi­tec­ture reste mauvaise

Il se peut qu’on soit obligé d’uti­li­ser une mauvaise archi­tec­ture. Il se peut que cette mauvaise archi­tec­ture soit un compro­mis accep­table, ou même souhai­table en fonc­tion de besoin spéci­fiques.

C’est rare, tout le monde a tendance à se penser dans le cas excep­tion­nel alors que ce n’est pas le cas, mais ça peut arri­ver. Mais, même dans ce cas, il ne faut pas perdre de vue que ça reste une mauvaise archi­tec­ture, et qu’on en subira les consé­quences.

Il y a des bonnes et des mauvaises archi­tec­tures, c’est ainsi. Faites ce que vous pensez le mieux, il se peut que vous ayez de bonnes raisons de choi­sir la mauvaise archi­tec­ture (même s’il y a toutes les chances que vous fassiez erreur). Mais quelles que soient ces raisons, elles ne trans­for­me­ront pas votre mauvaise archi­tec­ture en « bonne » archi­tec­ture. Vous venez de choi­sir une mauvaise archi­tec­ture pour de bonnes raisons, voilà tout. Et vous allez le payer.

2 réponses sur « Bon chas­seur et mauvais chas­seur : archi­tec­tures et données person­nelles »

Nuançons le « Stocker en clair c’est mal ».  En effet, il faut être conscient de la relative inutilité du cryptage de mots de passe : en effet, on voit dans des études comme celle de Troy Hunt ( http://www.troyhunt.com/2011/0… ) que la majorité des passwords sont d’une banalité impressionnante.
Donc ( situé dans ce contexte où les utilisateurs protègent mal leurs données) la personne ayant récupéré une base de donnée avec mots de passe cryptés va en décrypter la plupart avec une grande facilité (le salage ne sert ici à rien).Finalement, le cryptage, dans ce cas, n’est qu’une protection contre un utilisateur lambda qui tomberait sur les données, mais pas contre un pirate « mal intentionné ».
Sachant que crypter des données, ça prend du temps, et ce à chaque opération et que dans certain cas, un critère important est la réactivité de l’application web, le stockage en clair devient une option pertinente.
Attention toutefois : cette option n’est pertinente que si des efforts particuliers sont alors réalisés pour empêcher la fuite de donnée, autant bien par des mesures techniques que humaines.

Comme je dis : Il y a plein de bonnes raisons, mais ça reste une mauvaise architecture. Après chacun fait ses choix et assume les conséquences.

Après côté éthique tu es en train de justifier de ne pas sécuriser les mots de passe des gens qui font attention à leur données (et confiance à ton service) par le fait qu’une partie des autres a des mots de passe trop simples. Ça me parait pour le moins discutable.

Bref, je ne suis pas certain que tu tiennes vraiment une bonne raison, mais quand bien même, tu ne fais qu’ajouter au discours : Si tu choisis une mauvaise architecture sur cette base, attention à ne pas croire qu’elle est bonne pour autant, et ne pas oublier les conséquences qu’elle aura.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *