Nadim Kobeissi, un étudiant libanais de 21 ans résidant au Canada, a cherché un moyen simple et sûr qui permettrait aux utilisateurs de discuter en ligne en protégeant leurs conversations des regards indiscrets. « Petit génie de l'informatique doté d'une forte conscience citoyenne » comme il se décrit lui-même, le jeune étudiant de l'Université Concordia de Montréal a calculé qu'il passait cinq fois plus de temps à développer son projet Cryptocat qu'à potasser ses bouquins de sciences politiques et de philosophie.

A une époque où l'activisme politique se développe sur le web, Cryptocat souhaite fournir un environnement très sécurisé pour les systèmes de messagerie instantanée et contrer les gouvernements qui surveillent l'Internet pour débusquer des opposants. Les programmes de messagerie instantanée sont très populaires, mais, côté sécurité, ce ne sont pas des outils assez fiables pour les militants. Beaucoup de ces applications reposent sur le protocole SSL (Secure Sockets Layer), un protocole de chiffrement utilisé aussi pour sécuriser les transactions commerciales sur Internet. Les messages sont cryptés lors de la transmission, mais les conversations sont déchiffrées sur les serveurs sur lesquels tourne le service de messagerie, si bien que, potentiellement, des intrus pourraient avoir accès à leur contenu. Il y a bien des technologies de cryptage éprouvées pour la messagerie instantanée, comme PGP (Pretty Good Privacy) et OTR (Off The Record), un programme de chiffrement sous forme d'add-on compatible avec des applications de messagerie instantanée comme Pidgin et Adium. Mais le PGP peut être « difficile à utiliser pour les non-geeks », a estimé Nadim Kobeissi. OTR doit être téléchargé, installé et configuré, et il doit être activé chez les deux parties qui discutent pour que les messages soient cryptés.

Un chiffrement 256-bit AES

L'atout de Cryptocat est sa simplicité. Tout d'abord, une des versions du logiciel est basée sur le web, donc il n'est pas nécessaire de la télécharger. L'utilisateur crée une session de chat, choisit un pseudonyme, puis saisit une chaîne de caractères aléatoires afin de générer les clés de chiffrement 256-bit AES correspondant au système de cryptographie à clé publique qu'il utilise. Le cryptage et les clés de décryptage sont stockées dans le navigateur Web de l'utilisateur lui-même, si bien que le système assure une vraie protection d'un bout à l'autre de la chaîne. Selon le jeune étudiant, depuis peu les navigateurs Internet incorporent des moteurs JavaScript suffisamment puissants pour utiliser des clés de chiffrement très longues. Même si un attaquant parvient à s'introduire sur un serveur exécutant Cryptocat, les contenus n'auraient aucun sens et seraient impossibles à décrypter.  Nadim Kobeissi a ajouté d'autres fonctionnalités au client web, comme la possibilité d'inviter ses amis Facebook et d'envoyer des fichiers cryptés à une autre personne.

[[page]]

« Néanmoins, CryptoCat a ses limites, notamment il n'a pas été aussi rigoureusement testé que PGP et OTR,  lesquels ont été éprouvés par les meilleurs cryptographes du monde, » a ajouté l'étudiant. Mais Cryptocat a un peu moins d'un an. « Je le recommanderai aux militants dans 5 ans peut-être, » a ajouté Nadim Kobeissi. « Cryptocat est probablement tout à fait sûr. Mais si les gens comptent sur votre logiciel pour protéger leur vie, il vaut mieux être 100 000 fois sûr de ce que l'on fait. » Le code de Cryptocat est proposé en Open Source, et Nadim Kobeissi a expliqué comment fonctionnait son cryptage afin d'avoir le feedback d'autres spécialistes en cryptologie.

Celui-ci y a ajouté d'autres systèmes de sécurité, puisque Cryptocat est compatible avec Tor (The Onion Router), un réseau mondial qui fait du routage aléatoire sur ses serveurs pour permettre de surfer sur le web de manière un peu plus anonyme. « En utilisant une URL « .oinion » pour Cryptocat, le serveur de Cryptocat ne peut pas identifier l'adresse IP de l'utilisateur réel, » explique le jeune étudiant. Ce dernier a plusieurs autres idées pour améliorer encore plus son logiciel. L'add-on pour le navigateur Chrome de Google est déjà prêt, et Nadim Kobeissi prévoit de sortir des applications natives pour iOS et Android plus tard cette année. Celui-ci a également l'intention d'acheter un de ces mini-ordinateurs à 25-35 dollars Raspberry Pi mis au point par la Fondation Raspberry Pi. Celui-ci imagine qu'on pourrait livrer aux régions qui en ont besoin des packs comprenant un mini-ordinateur Raspberry Pi et son logiciel serveur Cryptocat. « Les organisations non gouvernementales pourraient aussi mettre en place leurs propres serveurs Cryptocat, » a-t-il ajouté. «  C'est une des raisons pour lesquels ce code est Open Source », a-t-il déclaré. « N'importe qui peut le télécharger et configurer son propre serveur. »