mercredi 13 juillet 2011

Lib perseus: pas convaincu

Etant présent aux RMLL, je suis allé écouter la conférence d'Eric Filiol, qui présentait son projet Perseus: Les enjeux d'une alternative au chiffrement.

Son idée de départ repose sur un postulat simple concernant la confidentialité des échanges sur internet. Nous savons qu'il est très simple (et très tentant pour les états) d'intercepter les données. La solution classique, le chiffrement, ne satisfait pas Eric Filiol, pour plusieurs raisons:
  • Le chiffrement se détecte trop facilement, et de fait pose un doute légitime sur l'émetteur du flux pour celui qui détecte le chiffrement. 
  • Le chiffrement n'est donc pas TRANSEC. Transec impose une probabilité faible de détection.
  • Les états peuvent avoir une raison légitime de pouvoir lire les échanges réseaux, la cryptographie les en empêche. [Note: je ne suis pas forcément d'accord sur ce point :-) ]
  • L'absence de chiffrement, émettre en clair, n'est évidemment pas acceptable.
La solution d'Eric Filiol à ces problèmes est le développement de la lib Perseus. Cette bibliothèque est une bibliothèque de chiffrement sans en être une (!).
Cette bibliothèque permet donc:
  • De modifier les données afin qu'un filtre statique ne détecte pas des motifs comme des mots-clés.
  • De faire en sorte que le flux ressemble à un autre type de flux; ainsi une image jpeg "chiffrée" (camouflée?) par Perseus peut avoir une signature le faisant ressemble à un pdf ou du HTML, ceci afin de contourner les filtres automatiques. Bien entendu ceci est rendu possible en ajoutant du "bruit" maîtrisé dans le message.
  • D'être facilement cassable, qu'il suffise de quelques jours/semaines afin qu'une personne motivée (un état, donc) puisse décoder et lire les échanges. L'exemple pris est celui d'un journaliste qui poste ses messages depuis un pays dictatorial qui ne sera capable de lire ses messages qu'une fois le journaliste rentré chez lui.
Cette bibliothèque repose sur plusieurs fondamentaux mathématiques exposés dans sa conf, je ne reviendrais pas dessus. Perseus peut de plus être employé sur des périphériques hardwares, et plusieurs groupes industriels/gouvernementaux sont prêts à financer son développement. Je laisse le côté hardware qui n'est pas discriminant pour moi.

Ceci posé, je ne suis absolument pas convaincu par la lib Perseus pour plusieurs raisons.

La première concerne son essence même. C'est du chiffrement sans en être. D'un côté c'en est puisque le message est camouflé, mais d'un autre ce n'en est pas puisque les états ont 'librement' accès aux données. Statut pour le moins curieux. Statut pour moi ennuyeux, car promouvoir le fait que ce n'est pas du chiffrement démotivera sans doute des peer reviews à étudier le protocole. Un challenge (bancal) a été lancé, mais ce challenge ne prouvera pas la solidité du concept.
Enfin, la techno a un an, ce qui est très jeune. Pour exemple, une techno comme le SHA3 est étudiée depuis bien plus longtemps, et les concepteurs eux-mêmes déconseillent actuellement son usage.

La seconde concerne l'aspect TRANSEC. Je ne vois pas en quoi c'est un problème. Il est attendu et normal selon moi que des échanges chiffrés aient lieu entre différents points du réseau. Un filtre automatique se fera sans doute leurrer par perseus mais une personne surveillée sera détectée sans problème. Il est indiqué qu'il faut augmenter la taille des données pour pouvoir le camoufler en autre chose. Certes. Toutefois, libre à moi de chiffrer en AES, puis de le passer en base64. L'entropie ne sera plus celle de l'AES! Une seconde méthode, plus simple serait de choisir 256 sujet, 256 verbes et 256 compléments. Chaque triplet d'octet serait transformé en sujet-verbe-complément. Les filtres auto se feront leurrer. Je peux aussi faire un système balise ouvrante, mot, balise fermante pour faire ressembler mon AES à du HTML, etc etc.. Dire que TRANSEC est un prérequis peut s'accomplir facilement si on prend en compte le grossissement du fichier d'origine.

Enfin, la troisième concerne le projet. Dire qu'on utilise un système 'vaguement chiffrant' qui laisse par construction aux états le moyen de connaître le contenu ne m'inspire pas confiance.

Je vais donc continuer à utiliser de la crypto, ssh, SSL/TLS, GPG etc.. et ne pas installer Perseus car je n'y vois pas les avantages, ni comprend la finalité.

EDIT: quelques liens ajoutés et précisions.

vendredi 1 juillet 2011

Deux ans de blogs et quelques stats

Deux ans déjà que ce blog à ouvert ses portes. Le premier message était engageant :-) Quelques statistiques depuis ce premier message...

En deux ans, j'ai publié 56 messages, pour une moyenne aux alentours de 2 messages par mois, ce qui est le but que je m'étais fixé à l'origine. Vous êtes entre 30 et 80 à me rendre visite chaque jour, je vous en remercie. Cela me fait arriver à environ 1200-1600 visiteurs par mois.

J'ai eu trois énormes pics de visites. Le premier, dû à un article de sid, suite à mon article sur la sécurité TCP/IP. Des visiteurs continuent de venir depuis ce lien. Les deux autres pics ont été très éphémères et dûs à twitter. Le premier tweet est de bluetouff pour mon article parlant du filtrage de google sur certaines requêtes. Les statistiques m'ont montré plus de 600 requêtes en moins d'une heure (cet homme est très suivi). Le troisième pic, lui aussi de 600 requêtes en une journée, est encore à accorder à twitter pour ma solution partielle du challenge SSTIC twittée par R00tBSD et retwittée une vingtaine de fois. Mais twitter est le règne de l'immédiat, il n'y a pas d'effet durable des liens twitter sur la consultation du blog. 

La fréquentation ce blog provient généralement de requêtes google et de quelques blogs; les requêtes sont généralement bien dans le sujet de ce blog (sécurité, informatique). Je n'ai pas de visibilité sur le flux RSS par contre.

J'ai pu également voir qu'il y avait du SPAM dans les Referrer. Des URLs complètement farfelues (et publicitaires) en lien source. Peut-être que les spammeurs savent qu'ils touchent plus facilement des admins des sites webs? Enfin ceux qui sont suffisamment curieux pour se demander pourquoi leur site est linké par un site de vente de chaussures russe :-) . Il faudrait peut-être bloguer la dessus?

J'ai eu aussi une requête très particulière qui cherchait "certificat SSL EdF cassé". Je n'y ai pas prêté particulièrement garde sur le moment. Une semaine après, on apprenait que le parti pirate allemand "aurait" obtenu une clé d'un site d'Edf. Il est dommage que blogger ne donne pas assez d'informations, l'IP source de la personne qui a faite cette requête une semaine avant m'aurait intéressée :-)

J'ai reçu le lot de mails classiques (non, je ne pirate pas de compte facebook, même payé pour cela) et je compte bien continuer à bloguer encore cette année.


Merci à vous de me suivre sur ce blog \o/