# TorChat

TorChat era una missatgeria instantània anònima peer-to-peer que utilitzava els serveis Tor com a xarxa subjacent. Va proporcionar missatgeria de text criptogràficament segura i transferències de fitxers. Les característiques dels serveis de Tor garanteixen que tot el trànsit entre els clients estigui xifrat i que sigui molt difícil saber qui es comunica amb qui i on es troba físicament un determinat client.
TorChat era programari lliure amb llicència sota els termes de la Llicència Pública General (GPL) de GNU.

## Característiques

A TorChat, cada usuari té un identificador alfanumèric únic que consta de 16 caràcters. Aquest identificador el crearà de manera aleatòria Tor quan s'iniciï el client per primera vegada, bàsicament és l'adreça .onion d'un servei de la xarxa. Els clients de TorChat es comuniquen entre ells mitjançant Tor per contactar amb el servei de l'altre (derivat del seu identificador) i intercanviant informació d'estat, missatges de xat i altres dades mitjançant aquesta connexió. Com que els serveis onion poden rebre connexions entrants encara que estiguin darrere d'un encaminador que fa traducció d'adreces de xarxa (NAT), TorChat no necessita cap reenviament de ports per funcionar.

## Història

La primera versió pública de TorChat va ser llançada el novembre de 2007 per Bernd Kreuss (prof7bit). Està escrit en Python i va utilitzar el kit d'eines de giny multiplataforma wxPython que va fer possible suportar una àmplia gamma de plataformes i sistemes operatius.
Les versions antigues de TorChat de Windows es van crear amb py2exe (des de la 0.9.9.292 substituïda per pyinstaller) i es van incloure amb una còpia de Tor fàcilment configurada perquè es pogués executar com una aplicació portàtil des d'una unitat flash USB sense cap instal·lació ni configuració o creació de compte.
Entre el 2008 i el 2010 no hi va haver cap paquet actualitzat, la qual cosa va fer que la versió agrupada de Tor quedés obsoleta i no es pogués connectar a la xarxa Tor, que va ser el motiu de l'aparició de versions que bàsicament només substituïen el Tor.exe inclòs amb un de versió actualitzada. El desembre de 2010, finalment va estar disponible una actualització oficial que, entre algunes correccions d'errors menors, també incloïa de nou un Tor.exe actualitzat.
Després del 2014, tota l'activitat de desenvolupament es va aturar i TorChat no ha rebut més actualitzacions.

## Versions

Un desenvolupador francès va llançar una bifurcació del programa per a OS X l'estiu de 2010. El binari (una aplicació de Cocoa) i el codi font (Objectiu-C) inclosos en un projecte Xcode 7 es poden descarregar a SourceMac.
A principis de 2012 es va crear una reescriptura del protocol TorChat a Java, anomenada jTorChat a Google Code. Contenia l'últim Tor.exe, i estava pensat per emular totes les característiques del protocol TorChat original, així com ampliar els protocols per a les funcions específiques de jTorChat. L'ús compartit de fitxers, encara que s'havia implementat al TorChat original, encara no s'havia implementat a jTorChat. Una nova capacitat de jTorChat fou el mode de difusió, que permetia a un usuari enviar missatges a tothom a la xarxa, encara que no estiguessin a la seva llista d'amics. També s'implementà el mode de sol·licitud d'amics, que permetia que un usuari sol·licités a un usuari aleatori a la xarxa jTorChat per afegir-los. En aquesta etapa, jTorChat estava dissenyat per funcionar de manera eficaç a Windows sense cap configuració, però com que estava escrit en Java, es podia executar en qualsevol plataforma suportada per ambdós, Tor i Java, la qual cosa la feia molt portàtil. El projecte buscava activament col·laboradors de Java, especialment per ajudar a depurar la interfície GUI.
El febrer de 2012, el desenvolupador Prof7bit va traslladar TorChat a GitHub, com a protesta contra Google per censurar selectivament l'accés a la descàrrega de TorChat a determinats països. Prof7bit passà a treballar amb torchat2, que és una reescriptura des de zero, utilitzant Lazarus i Free Pascal.

## Seguretat

El 2015 es va elaborar una anàlisi de seguretat del protocol TorChat i la seva implementació Python. Es va trobar que, tot i que el disseny de TorChat era sòlid, la seva implementació tenia diversos defectes, que feien que els usuaris de TorChat fossin vulnerables a la suplantació d'identitat, la confirmació de la comunicació i els atacs de denegació de servei. Malgrat els defectes descoberts, l'ús de TorChat encara podia ser segur en un escenari en què l'adreça de la ceba del company no es conegués per un adversari interessat a atacar la persona que hi havia darrere de l'adreça de TorChat.

## Vegeu també

* Tor (xarxa)
* Tox (protocol)

## Referències

* 1 2 «Interview with Bernd Kreuss of TorChat». Free Software Foundation. [Consulta: 28 gener 2014].
* ↑ prof7bit. «torchat». Google Code, 25-11-2007. Arxivat de l'original el 25 novembre 2007. [Consulta: 25 febrer 2021].
* ↑ «Bernd Kreuss (prof7bit)» (en anglès). Gist. GitHub. [Consulta: 25 febrer 2021].
* ↑ «TorChat - Free Software Directory». Arxivat de l'original el 2013-10-09.
* ↑ «Tor project blog». Blog.torproject.org. [Consulta: 28 gener 2014].
* 1 2 3 «TorChat2». GitHub, 08-12-2021.

## Enllaços externs

* TorChat2 a Github
* TorChat per a Mac OS X
* jTorchat a Github