Ceci est une ancienne révision du document !
Off-the-Record (OTR) Messaging
Présentation
OTR permet d'avoir des conversations privées sur de multiples protocoles (XMPP/Jabber, IRC, MSN, …) en fournissant :
- Chiffrement : personne d'autre ne peut lire vos messages instantanés.
- Authentification : vous êtes assuré que votre correspondant est celui que vous pensez être. Il existe 3 méthodes d'authentification :
- Question & Réponse : quand vous authentifiez un contact par cette méthode, vous écrivez une question/sa réponse et votre contact seulement la réponse. Si vos réponses ne sont pas identiques, vous pourriez être en conversation avec un imposteur.
- Secret partagé : choisissez un 'code secret' connu de seulement vous/votre contact et attendez que celui-ci entre le 'code secret'. Si vos secrets ne sont pas identiques, vous pourriez être en conversation avec un imposteur.
- Vérification manuelle d'empreinte : contactez votre contact via un autre canal authentifié, comme le téléphone ou un mail GPG-signé. Chacun devra donner son empreinte à l'autre. Si l'empreinte de votre contact est identique à celle indiquée sur votre écran, dites que vous avez vérifié l'empreinte.
- Possibilité de démenti : Les messages échangés ne comportent aucune signature numérique utilisable par un tiers. N'importe qui pourrait donc falsifier des messages après une conversation privée pour faire croire que vous en êtes l'auteur. (On peut donc invoquer cette possibilité pour contester avoir émis certains messages.) Cependant, pendant une conversation privée, votre correspondant est assuré que les messages qu'il voit sont authentiques et non-modifiés.
- Inviolabilité des messages passés (Perfect forward secrecy) : si vous perdez le contrôle de vos clefs privées, aucune conversation antérieure n'est compromise.
OTR se présente sous la forme d'un plugin à greffer à un client de messagerie instantanée ou est incorporé d'office dedans (voir ci-dessous). Tous les protocoles supportés par ces clients de messagerie instantanée peuvent utiliser OTR. Il doit être installé chez chaque interlocuteur pour être actif. Les 'différents OTR' sont compatibles entre eux (un contact utilisant Pidgin + OTR pourra parler de manière sécurisée avec un contact utilisant Gajim + OTR, etc.).
Les différents OTR
Pidgin-OTR
- Installation
- Le plug-in OTR est disponible dans les dépôts Ubuntu : pidgin-otr
- Configuration : Outils ⇒ Plugins ⇒ Cochez "Messagerie Confidentielle 'Off-the-Record'" ⇒ Configurer le plugin ⇒ Produisez les clés pour vos différents comptes et décochez "Show OTR button in toolbar".
- Compiler Pidgin-OTR soi-même
- Il est toujours possible que le plug-in et/ou la bibliothèque libotr ne soit pas disponible dans sa dernière version dans les dépôts. Cependant, l'ensemble est simple à compiler et installer.
Dans un premier temps, il faut se procurer les archives contenant les sources de libotr et de pidgin-otr directement sur le site des développeurs (dans cette section, OTR Library and toolkit et OTR plugin for Pidgin, plus exactement, les archives libotr-<version>.tar.gz et pidgin-otr-<version>.tar.gz). La bibliothèque libotr fournit les fonctions nécessaires au cryptage des messages à proprement parler, tandis que pidgin-otr fournit le plug-in avec l'interface utilisateur dans le client. Il est donc nécessaire de compiler et installer libotr avant de s'occuper du plug-in.
Fermer complètement Pidgin.
Tout d'abord, il faut préparer le terrain et installer les outils nécessaires à la compilation, ainsi que des dépendances pour le développement de Pidgin et de ses plug-ins. Le plus simple est de procéder comme suit (on pré-suppose ici que Pidgin est déjà installé par le biais des dépôts officiels, du PPA des développeurs, ou par compilation des sources) :
sudo apt-get install build-essential checkinstall pidgin-dev libpurple-dev libgcrypt11-dev
Puis ensuite, pour s'assurer qu'aucun problème de dépendance ou d'outil de développement ne se pose en cours de processus :
sudo apt-get build-dep pidgin
Le travail de configuration avant compilation peut maintenant débuter. Pour celà, il faut d'abord extraire le contenu des archives téléchargées (dans un dossier de votre choix), ici en une seule opération :
tar -xzf libotr-<version>.tar.gz && tar -xzf pidgin-otr-<version>.tar.gz
L'extraction crée des dossiers du même nom que les archives. D'abord, entrer dans le dossier libotr et configurer :
cd libotr-<version> ./configure --prefix=/usr
Si aucune erreur concernant une dépendance n'est renvoyée, la compilation pourra être lancée (en principe, libgcrypt11 est la principale dépendance de libotr. Celle-ci a déjà été installée en début de procédure avec les en-têtes de développement). Il ne reste donc plus qu'à compiler simplement avec :
make
Puis une fois terminé, installer la bibliothèque :
sudo make install
LibOTR est installée.
Ou bien, si vous préférez la flexibilité et la possibilité de gérer la mise à jour ou une future désinstallation par le biais d'apt-get, installer libotr ainsi :
sudo checkinstall make install
Donner "libotr2" comme nom au paquet (il prendra ainsi la place du paquet en plus ancienne version dans la liste des dépôts), indiquer précisément le numéro de version s'il n'est pas déjà rempli par checkinstall, et entrer une courte description du paquet, avec éventuellement la mention explicite de sa compilation maison pour référence future. Il faut également noter que le paquet DEB créé n'est pas distribuable mais est spécialement prévu pour l'ordinateur sur lequel il est créé (car non-signé, et ne prenant pas les dépendances en compte, donc il y a de forts risques que le l'installation échoue sur d'autres ordinateurs s'il est distribué). LibOTR est installée et apparait dans le gestionnaire de paquets APT.
Il est maintenant possible de compiler le plug-in OTR lui-même. Premièrement, quitter le dossier de compilation de libotr si ce n'est déjà fait (entrer un simple : "cd .."), puis :
cd pidgin-otr-<version> ./configure --prefix=/usr
Si aucune erreur n'est renvoyée, passer à la compilation proprement dite, comme pour libotr :
make
Puis à son installation :
sudo make install
Pidgin-OTR est installé et apparaitra dans la liste des plug-ins sous le terme "Off-the-Record messenging" ou "Messagerie confidentielle". Un bon moyen de repérer précisément le plug-in est d'afficher les détails décrivant les plug-ins installés et de chercher celui indiquant le fichier "pidgin-otr.so" si l'intitulé n'est pas clair (ce qui peut arriver).
De même, il est également possible d'effectuer la même manoeuvre que pour libotr, il est possible d'installer le plug-in avec checkinstall pour bénéficier de la gestion offerte par APT :
sudo checkinstall make install
S'assurer de bien donner "pidgin-otr" comme nom au paquet, et s'assurer du bon numéro de version (par exemple 4.0.0 ou 4.0.0-1). De même, toujours fournir une description mentionnant une compilation maison afin de s'y retrouver à l'avenir.
A noter, pour les utilisateurs de Finch (version console de Pidgin), il semble que l'un des contributeurs de Pidgin travaille à l'adaptation du plug-in OTR pour le client console, bien que ce portage ne semble pas encore utilisable en situation normale : https://blog.wasilczyk.pl/en/2013/off-the-record-messaging/
Kopete-OTR
-
- Ubuntu 9.04 : kopete-plugin-otr-kde4 (se trouve dans le dépôt Universe).
- Configuration : Configuration ⇒ Configurer les modules ⇒ Cochez "OTR" ⇒ Choisissez le(s) bon(s) compte(s) et générez les clés.
Gajim-OTR
- Installation
- Editez le fichier sources.list et rajoutez, tout en bas, les lignes correspondantes à votre version d'Ubuntu :
sudo gedit /etc/apt/sources.list
- Ubuntu 8.04 :
# DEPOTS GAJIM-OTR-DEV deb http://ppa.launchpad.net/gajim-otr-dev/ppa/ubuntu hardy main deb-src http://ppa.launchpad.net/gajim-otr-dev/ppa/ubuntu hardy main
- Ubuntu 8.10 :
# DEPOTS GAJIM-OTR-DEV deb http://ppa.launchpad.net/gajim-otr-dev/ppa/ubuntu intrepid main deb-src http://ppa.launchpad.net/gajim-otr-dev/ppa/ubuntu intrepid main
- Ubuntu 9.04 :
# DEPOTS GAJIM-OTR-DEV deb http://ppa.launchpad.net/gajim-otr-dev/ppa/ubuntu jaunty main deb-src http://ppa.launchpad.net/gajim-otr-dev/ppa/ubuntu jaunty main
- Sauvegardez puis récupérez la clé de ce dépôt :
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3497B7E7
- Enfin, rechargez la liste des paquets et installez Gajim-OTR :
sudo apt-get update && sudo apt-get install gajim
- Configuration : Edition ⇒ Préférences ⇒ OTR Settings ⇒ Choisissez le(s) bon(s) compte(s) et générez les clés.
Psi-OTR
- Présentation : voir Off-the-Record Messaging et ici. Disponible sous forme de plugin pour une version spéciale ("patchée") de Psi.
- Installation
- Psi 0.11 :
wget http://public.beuth-hochschule.de/~s30935/files/psi_0.11-1_i386.deb && sudo dpkg -i psi_0.11-1_i386.deb && wget http://public.beuth-hochschule.de/~s30935/files/psi-otr_0.3_i386.deb && sudo dpkg -i psi-otr_0.3_i386.deb
- Psi 0.12 :
wget http://public.beuth-hochschule.de/~s30935/files/psi-patched_0.12-1_i386.deb && sudo dpkg -i psi-patched_0.12-1_i386.deb && wget http://public.beuth-hochschule.de/~s30935/files/psi-otr_0.4-1_i386.deb && sudo dpkg -i psi-otr_0.4-1_i386.deb
- Psi 0.13 :
wget http://public.beuth-hochschule.de/~s30935/files/psi-patched_0.13-1_i386.deb && sudo dpkg -i psi-patched_0.13-1_i386.deb && wget http://public.beuth-hochschule.de/~s30935/files/psi-otr_0.5-1_i386.deb && sudo dpkg -i psi-otr_0.5-1_i386.deb
- Configuration
1. General ⇒ Options ⇒ Plugins ⇒ Cochez "Load this plugin" ⇒ Apply ⇒ OK ⇒ Redémarrez Psi.
2. General ⇒ Options ⇒ Plugins ⇒ Config ⇒ Cochez "Enable private messaging" et "Automatically start private messaging" ⇒ Apply ⇒ OK.
XChat-OTR
-
- Ubuntu 9.04 : xchat-otr (se trouve dans le dépôt Universe).
Irssi-OTR
-
- Ubuntu 9.04 : irssi-plugin-otr (se trouve dans le dépôt Universe).
- Configuration : voir ici.
Empathy
Empathy ne supporte pas l'OTR. Vous pouvez suivre la progression de l'implémentation d'OTR sur les rapports de bugs accessibles via Launchpad.
Miranda IM-OTR
Disponible sous forme de plugin pour Miranda IM et que sous Windows. Voir ici.
Trillian-OTR
Disponible sous forme de plugin pour Trillian Pro et que sous Windows. Voir ici.
Adium-OTR
Inclus dans Adium et disponible que sous Mac OS. Voir ici.