+++ to secure your transactions use the Bitcoin Mixer Service +++

 

hashcash.org
home
faq
documentation
mailing-list
news
media articles
bitcoin
mail plugins 
blog plugins 
binaries 
source 
benchmarks
biggest stamp
developers
java applet
papers
 
web hashcash.org

hits since nov 03

La FAQ de hashcash

Traduction de l'anglais par Guillaume Cottenceau.

Click here for the English version of this FAQ.
  1. Quels sont les probl�mes li�s au spam ?
  2. Il y a deux probl�mes avec le spam :

    1. la surcharge de d�chets dans la bo�te aux lettres -- le spam envahit votre bo�te aux lettres et rend l'email moins pratique�d'utilisation ;
    2. la perte de fiabilit� de l'email -- les techniques anti-spam que les FAI et les utilisateurs mettent en oeuvre pour lutter contre le spam ont comme effet secondaire de r�duire la fiabilit� de l'email, et ont pour r�sultat final la perte d'emails l�gitimes (les emails qui ne sont pas du spam).

    La perte d'emails � cause du spam et des techniques anti-spam est un effet secondaire d'un grand nombre de techniques anti-spam, comme par exemple :

    1. les filtres par mots-cl� -- une approche courante pour r�duire le spam est d'utiliser un logiciel qui examine l'email pour d�terminer s'il a l'air d'�tre un spam. Parfois cette op�ration est effectu�e par le FAI, par exemple hotmail ou d'autres FAIs et fournisseurs de webmails, parfois encore ce sont les utilisateurs eux-m�me qui installent ce type de logiciel. Les versions r�centes de netscape mail et de microsoft outlook fournissent de tels fonctions de filtrage.

      Si votre email, ou l'email d'une personne qui tente de vous envoyer un message, d�clenche accidentellement un filtrage par mots-cl�, vous avez des chances de ne jamais voir cet email. Ou bien, il sera plac� dans un dossier que vous ne lirez pas pendant un long moment.

      Cela arrive aux utilisateurs l�gitimes parce que les logiciels de filtrage ne sont pas tr�s �volu�s. En effet, il n'est pas rare de tomber sur des � faux positifs � (un email consid�r� par le programme comme du spam, alors qu'il n'en est pas), parce qu'on se trouve dans une probl�matique qui n�cessiterait une intelligence artificielle, et d�pend d'un contexte difficile � reconna�tre pour un ordinateur. Par exemple, si vous avez achet� un produit en ligne, vous souhaitez recevoir le re�u, m�me s'il a un aspect fortement publicitaire. Un autre probl�me est li� au fait que les mots peuvent avoir des significations tr�s diff�rentes en fonction du contexte, et il y a en r�alit� une importante frange commune au sein des mots que les spammeurs utilisent, et les mots que les utilisateurs l�gitimes utilisent.

    2. les blacklists trop z�l�es -- si votre FAI ou le FAI de vos amis se retrouve cat�goris� comme spammeur par le responsable d'une blacklist, votre email sera rejet�. C'est tr�s courant parce que les responsables des blacklists sont prompts � blacklister mais lents � corriger les probl�mes. Par exemple, pendant plusieurs mois je ne pouvais pas recevoir d'email de mon fr�re qui utilisait btinternet.com (un des plus gros FAI au Royaume-Uni), parce que mon FAI utilisait une blacklist qui comprenait la totalit� de btinternet. Le probl�me est qu'en r�alit� les FAI sont utilis�s � la fois par des utilisateurs l�gitimes et par des spammeurs. La plupart de leur utilisateurs sont l�gitimes. Mais lorsque du spam est rencontr�, le FAI est blacklist�, que ce soit d� � un probl�me temporaire ou non, et malgr� le fait que cela peut induire des probl�mes chez des millions d'utilisateurs l�gitimes du FAI. Un simple constat suffit pour se convaincre que les services des FAI de taille moyenne sont constamment utilis�s par des spammeurs. Le FAI n'a tout simplement aucun moyen de savoir si un nouvel utilisateur qui s'abonne � ses services sera finalement un spammeur. Le FAI supprimera le compte du spammeur d�s qu'il conna�tra le probl�me, cependant, dans l'intervalle, il est courant que le nom du FAI se retrouve dans plusieurs blacklists.

      Plusieurs responsables de blacklists ont m�me introduit une politique de suppression punitive de leur liste, en conservant par exemple le FAI sur leur blacklist pour une dur�e double de celle qu'il a fallu au FAI pour se rendre compte du probl�me du spammeur. Il est difficile de convaincre les responsables de blacklists � ce sujet -- ce sont des "crois�s" de la lutte contre le spam. Ils sont m�contents du spam, et d�tiennent le pouvoir pour agir. Le probl�me, c'est qu'ensuite il n'y a pas de recours, parce que ce sont des ind�pendants et que leur service est en g�n�ral gratuit. Cependant, leurs d�cisions sont cruciales, vu que de nombreux FAI et entreprises utilisent leur service. De temps en temps, un FAI deviendra suffisamment g�n� par leur politique punitive et leurs d�cisions arbitraires, et tentera de les poursuivre en justice pour perte de fiabilit� dans les emails. Il y a eu un cas d'une telle action, il y a quelques ann�es. Le FAI a gagn�, et le responsable de blacklist a d� stopper ses activit�s. Cependant, il y a beaucoup d'autres responsables de blacklists, et le m�contentement g�n�ralis� � propos du spam suscite toujours plus de vocations.

    3. les configurations interdites -- si vous souhaitez configurer un relai ouvert (open relay) pour des raisons pr�cises, les responsables de blacklists et les FAI rendront impossible le fonctionnement de votre serveur.

      J'ai tent� de faire �a pour une connaissance, afin qu'il puisse envoyer des mails par mon serveur, sans se soucier du FAI qu'il utilise (il voyage beaucoup). En quelques heures, un spammeur avait d�couvert mon relai ouvert, et en quelques heures suppl�mentaires, mon serveur avait �t� blacklist�. J'avais alors configur� l'extention ESMTP afin de me d�faire du spammeur, et effac� tous les spams en attente d'envoi sur mon serveur, mais je pense que mon serveur est toujours sur les blacklists. J'ai pourtant fait des d�marches pour �tre retir� des blacklists, mais n'ai jamais re�u aucune r�ponse en retour.

      � la fois les spammeurs et les responsables de blacklists sont � la recherche permanente de relais ouverts. Parfois, il arrive que des gens soient blacklist�s m�me si aucun spammeur ne peut abuser de leurs services -- uniquement parce que le responsable d'une blacklist a d�couvert le relai ouvert.

      John Gilmore a m�me essay� d'administrer un relai ouvert pour ses amis, et son FAI a supprim� son compte !

      La cons�quence, c'est que vous compromettez la fiabilit� de vos emails, et votre compte aupr�s de votre FAI, si vous mettez en place un relai ouvert, et ceci m�me si vous le faites de mani�re s�re.

    4. les configurations trop complexes -- il est tr�s courant pour les spammeurs de falsifier leur adresse email, c'est une pr�caution de base pour ne pas �tre identifi�. Certains logiciels de transmission des emails (MTA) utilis�s par les FAI et les utilisateurs font des v�rifications pour rendre cette falsification plus difficile. Malheureusement ces v�rifications vont aussi rejeter les emails en provenance de domaines ayant des entr�es DNS et DNS-inverse incoh�rentes. Les utilisateurs finaux n'ont en g�n�ral pas les moyens de fournir des informations coh�rentes � ce sujet, et les FAI n'ont pas int�r�t � fournir ce genre de prestation pour tous leurs utilisateurs b�n�ficiant d'adresses IP dynamiques et statiques. Les services li�s au DNS sont consid�r�s comme haut de gamme par les FAI, et en g�n�ral ils les fournissent � un prix �lev�.

      Un autre effet secondaire de ces v�rifications, c'est qu'il peut y avoir beaucoup d'autres probl�mes d�s � la configuration du FAI. Si par m�garde ils n'arrivent pas � conserver une coh�rence parfaite entre leurs entr�es DNS et DNS-inverse, lorsqu'ils changent certaines entr�es DNS, ou font des erreurs de coh�rence au moment du changement, cela pourra affecter la fiabilit� des emails parce que certains logiciels de transmission des emails refuseront d'accepter les emails � cause de ces probl�mes.

    5. les types d'utilisateurs discrimin�s -- certains responsables de blacklists ont pour habitude de blacklister des intervalles entiers d'adresses IP de FAI � haut-d�bit (modem-c�ble, ADSL). �a affecte la fiabilit� pour les personnes utilisant ces types de connexion � Internet qui envoient directement leurs emails, ou administrent leur propre centre de transmission d'emails. J'ai connu des personnes oblig�es de m'envoyer des emails par des chemins d�tourn�s, parce que mon FAI utilise une blacklist ayant ce comportement. Pour la fiabilit�, les utilisateurs de connexion � haut-d�bit sont alors oblig�s d'utiliser le centre de transmission des emails de leur FAI. Cela r�duit la flexibilit� (le centre de transmission peut tr�s bien ne pas faire tout ce que l'utilisateur souhaiterait), et pose un probl�me relatif � la vie priv�e parce qu'ils doivent envoyer � travers leur FAI (s'ils pouvaient envoyer directement, il serait possible d'assurer la s�curit� de bout en bout en utilisant SMTP sur SSL par exemple, alors qu'� travers le FAI, on doit utiliser PGP ou S/MIME qui sont moins pratiques et support�s par un moins grand nombre de destinataires).
    6. la perte dans le volume -- une autre raison simple conduisant � rater un email, c'est que si vous recevez trop de spam, vous pouvez rater un email l�gitime si vous parcourez trop rapidement votre bo�te aux lettres � la recherche du message sur 100 qui est un vrai email. Un autre probl�me li� au volume, c'est que certains FAI imposent des limites sur le nombre d'emails qui peuvent �tre conserv�s. Si vous ne nettoyez pas assez fr�quemment le spam, votre bo�te aux lettres peut se remplir totalement, et les nouveaux emails seront renvoy�s � leur exp�diteur.
    7. la surcharge au niveau des FAI -- les FAI sont fr�quemment surcharg�s par le spam. Lorsque c'est le cas et que leurs serveurs de mail tombent en panne, ou que leurs disques se remplissent trop, des emails l�gitimes peuvent �tre perdus ou renvoy�s � leur exp�diteur.

  3. Comment hashcash s'int�gre l�-dedans ?
  4. Hashcash est une approche technique de r�duction de l'impact du spam. Le but de hashcash est de rendre l'email plus fiable. C'est une technique qui doit accompagner l'utilisation d'un anti-spam. Peu importe quel anti-spam vous utilisez, vous devez le configurer pour qu'hashcash puisse passer outre les filtres et blocages mis en place, afin que les autres utilisateurs de hashcash puissent vous envoyer des emails de mani�re fiable. De m�me, en tant qu'exp�diteur, vous utilisez hashcash afin que les filtres chez le destinataire ne soient pas d�clench�s, et que votre email soit le plus fiable possible.

    1. Que fait hashcash ?
    2. Hashcash se pr�sente sous la forme d'un plugin pour les clients mail, qui ajoute des timbres hashcash aux emails � envoyer.

      Le plugin hashcash ins�re un ent�te X-Hashcash: dans les emails que vous envoyez. Vous pouvez voir ci-dessous un exemple d'email qui m'a �t� envoy� avec un timbre hashcash dans les ent�tes :

      From: Quelqu'un <test@test.invalid>
      To: Adam Back <adam@cypherspace.org>
      Subject: test hashcash
      Date: Jeu, 26 Juin 2003 11:59:59 +0000
      X-Hashcash: 0:030626:adam@cypherspace.org:6470e06d773e05a8

      blah blah

      -Quelqu'un

    3. Qu'est-ce qui emp�che un spammeur d'utiliser hashcash ?
    4. Les spammeurs peuvent eux aussi utiliser hashcash, cependant hashcash leur pose un gros probl�me parce que la g�n�ration du timbre hashcash consomme du temps de processeur. Pour vous en tant qu'utilisateur l�gitime, avec une machine de bureau tout � fait normale ou bien encore un portable, le temps de processeur n�cessaire est n�gligeable parce que vous n'envoyez pas tant d'emails que �a ; au pire, votre email sera ralentit de quelques secondes avant d'�tre envoy� si vous utilisez une vieille machine particuli�rement lente. Cependant, pour les spammeurs c'est une autre histoire : ils envoient plus de 10'000 emails par minute par une ligne ADSL achet�e avec une carte de cr�dit vol�e, le plus vite possible avant que le compte ne soit supprim�.

    5. Mais les spammeurs ne voleront-ils pas du temps de processeur ?
    6. Les spammeurs s'introduisent d�j� de mani�re non l�gitime sur beaucoup d'ordinateurs de simples utilisateurs, afin de cr�er ce qu'on appelle des arm�es de "zombies" � partir desquelles ils envoient du spam. Cependant, � l'heure actuelle, la quantit� d'emails que les spammeurs peuvent envoyer � partir de ces zombies est limit�e par la vitesse de la connexion Internet utilis�e. Une ligne ADSL moyenne pourra envoyer 25 messages diff�rents par seconde d'une taille de 1 Ko (avec une ligne � 256 kbit en upload). Ou bien beaucoup plus de messages par seconde si les messages sont envoy�s � plusieurs destinataires en m�me temps (en utilisant les copies ou copies cach�es - CC ou BCC). Un simple timbre hashcash de 20 bits n�cessite une demie seconde par destinataire de temps de processeur sur l'ordinateur personnel le plus puissant au moment o� ces lignes sont �crites. Cela ralentirait donc les spammeurs d'un facteur de 10 � 100 ou plus (en fonction du fait que les messages sont envoy�s � un seul ou � plusieurs destinataires).

    7. Mais est-ce que les spammeurs ne pourront pas toujours envoyer � beaucoup de destinataires en une fois ?
    8. Les spammeurs optimisent souvent la quantit� de spam qu'ils peuvent envoyer en destinant leurs messages � des centaines voire des milliers d'adresses � l'aide de copies cach�es (BCC). De cette mani�re, ils peuvent ne consommer que 3,5 Ko de bande passante pour envoyer � 100 destinataires, au lieu de 100 Ko qui serait n�cessaire s'ils envoyaient chaque messages s�paremment. Cela permettrait � un spammeur d'envoyer 700 messages par seconde (avec une ligne ADSL � 256 kbit en upload).

      Envoyer de cette mani�re r�duit la personnalisation que le spammeur peut effectuer parce que tous les contenus de message d'un paquet donn� sont n�cessairement les m�mes, mais malgr� cela les spammeurs sont friants de cette technique qui leur permet d'accro�tre sensiblement la quantit� d'emails qu'ils peuvent envoyer par seconde.

      Cependant, avec hashcash un timbre diff�rent est n�cessaire pour chaque destinataire, ce qui r�duit � n�ant cette technique. Si le spammeur doit mettre un timbre hashcash pour chaque destinataire, m�me un Pentium-4 � 3 GHz ne pourra g�n�rer que 2 timbres par seconde, en comparaison de 700 par seconde sans timbre hashcash, donc l'utilisation de hashcash dans ce cas de figure ralentirait la quantit� de spam envoy� d'un facteur 350.

    9. Est-ce que �a ne rend pas l'email plus lent � l'utilisation ?
    10. Pas vraiment. Au pire votre email sera retard� de quelques secondes avant d'�tre envoy�. Mais des plugins de meilleure qualit� seront capable de cr�er le timbre hashcash en arri�re plan lorsque vous �crivez votre email, ou aura suppos� que vous souhaitez r�pondre aux emails que vous recevez et aura d�j� cr�� les timbres n�cessaires lorsque vous le ferez.

      De plus, certains plugins hashcash peuvent automatiquement reconna�tre la pr�sence d'un timbre et whitelister (le contraire de blacklister), ou exempter les personnes avec lesquelles vous communiquez fr�quemment : par exemple les personnes de votre carnet d'adresse, ou les personnes auxquelles vous r�pondez. Un exemple est le syst�me CAMRAM qui est bas� sur hashcash, et qui pratique ces distinctions (CAMRAM veut dire "CAMpaign for ReAl Mail", "Campagne pour de Vrais Emails", c'est un jeu de mot sur une pub pour de la bi�re anglaise).

      Les whitelists automatiques r�duisent encore plus le temps de processeur pour les utilisateurs l�gitimes, parce que votre plugin hashcash cr�era des timbres uniquement pour le premier email que vous enverrez � une nouvelle personne. Mais c'est un b�n�fice interdit aux spammeurs parce qu'ils ne pratiquent pas une communication bidirectionnelle -- ils envoient du spam, qui par essence n'est qu'une communication unidirectionnelle, et tr�s peu d'utilisateurs auront normalement l'id�e de rajouter le spammeur sur leur whitelist.

    11. En quoi cela rend-il mes emails plus fiables ?
    12. Les FAI et les destinataires qui utilisent des antispams bas�s sur le filtrage par mots-cl�, les blacklists, les incoh�rences dans les entr�es DNS, etc, commencent � utiliser hashcash comme exception dans le tri du spam. Votre email qui est "affranchi" -- avec le timbre hashcash -- navigue � travers les filtres antispam sans jamais �tre refus�. Cela accro�t la fiabilit� parce que les antispam sont surcharg�s et commettent des erreurs comme le fait de bloquer des emails qui ne sont pas en r�alit� du spam.

    13. Quels logiciels antispam laissent sp�cialement passer les emails contenant un timbre hashcash ?
    14. Hashcash est support� par SpamAssassin � partir de la version 2.70. SpamAssassin est un antispam tr�s utilis� par les utilisateurs et les FAI. Il utilise le filtrage par mots-cl� (et d'autres techniques) pour supprimer le spam. Si vous jetez un coup d'oeil � vos ent�tes d'emails et que vous trouvez X-Spam-Checker-Version: SpamAssassin, cela veut dire qu'ils ont �t� examin�s par SpamAssassin.

      Hashcash est aussi support� par TMDA et CAMRAM. Cela veut dire qu'en envoyant des timbres hashcash dans vos emails, vous pouvez virtuellement �liminer les chances de subir un faux positif, et donc par la m�me occasion vos emails seront bien d�livr�s au destinataire, sans �tre plac�s dans le dossier poubelle si le FAI du destinataire ou lui-m�me utilise SpamAssassin, TMDA ou CAMRAM. Le nombre de syst�mes supportant hashcash est en augmentation.

      Si vous souhaitez ajouter le support de hashcash dans un syst�me antispam, contactez-moi, Adam Back <adam@cypherspace.org>, et je ferai mon possible pour vous y aider.

    15. Cette liste n'est pas tr�s longue, pourquoi devrais-je m'y int�resser ?
    16. SpamAssassin est assez r�pandu chez les FAI. Si vous regardez dans les ent�tes des emails que vous recevez, et que vous y trouvez X-Spam-Checker-Version: SpamAssassin, alors cela veut dire qu'ils sont examin�s par SpamAssassin.

      Et m�me si votre FAI n'utilise pas SpamAssassin, r�fl�chissez : le spam augmente � un rythme tr�s �lev�. Les estimations sont variables, mais en g�n�ral autour de 10% par mois ! � ce rythme-l�, la fiabilit� des emails et leur utilit� vont se r�duire rapidement. Les techniques antispam seront probablement utilis�es pour tenter de contrer la mar�e montante du spam -- et cela rendra le taux de faux positifs encore plus important, rendant vos emails toujours moins fiables. D�j�, de nombreux FAI d�clarent que plus de 50% des emails qu'ils transmettent sont en fait du spam.

      Hashcash met en oeuvre quelque chose de concret pour �viter le d�sastre. Mais comme tout autre syst�me, on doit l'amorcer  : plus il y aura d'utilisateurs qui s'en serviront, plus la demande sera forte pour que les logiciels antispam en tiennent compte ; de la m�me mani�re, plus la proportion de logiciels antispam � en tenir compte sera �lev�e, plus il y aura d'avantages � l'utiliser au plan personnel pour accro�tre la fiabilit� de ses emails.

      Utilisez hashcash d�s maintenant, prenez votre part dans la solution au probl�me du spam.

    17. Mais donc, est-ce que je pourrai ignorer les emails sans timbre hashcash ?
    18. C'est une question � laquelle chaque utilisateur doit r�pondre lui-m�me. Le revers de la m�daille, c'est que si vous vous mettez � ignorer les emails sans hashcash, vous pourrez tr�s bien manquer des emails que vous auriez voulu voir. Pour une utilisation standard, il faut �tre patient, et je pense qu'on ne pourra pas faire �a avant au moins 10 ans, si jamais c'est possible un jour.

      Il y a d'autres points de vue plus engag�s, ceci dit ; les gens qui sont vraiment trop agac�s par le spam, et qui re�oivent peu de mails l�gitimes spontan�s, peuvent adopter cette attitude radicale.

      On peut mettre quelque chose dans la r�ponse automatique � un mail refus� qui permet � l'exp�diteur de g�n�rer un timbre hashcash. Par exemple, il y a une applet java qui permet � tout un chacun de g�n�rer un timbre hashcash directement depuis le navigateur web.

      Il faut aussi pr�ciser que l'approche temporaire adopt�e par CAMRAM est d'avoir des moyens alternatifs pour entrer dans la whitelist, avec une simple r�ponse � un email.

  5. Comment fonctionne l'affranchissement par hashcash ?
  6. Il y a beaucoup de probl�mes math�matiques pour lesquels il est bien plus facile de v�rifier la solution, que de calculer la solution. Par exemple, calculer une racine carr�e. Il est bien plus complexe et cela demande beaucoup plus de calcul � l'ordinateur de calculer une racine carr�e que d'en v�rifier une. Rappelez-vous que la v�rification d'une racine carr�e consiste juste en une multiplication : y = sqrt(y) x sqrt(y).

    1. Est-ce que hashcash utilise des racines carr�es ?
    2. Non, mais ce n'est pas si loin de la v�rit�. En fait, Dwork et Naor avaient propos� d'utiliser des racines carr�es pour illustrer la faisabilit� de la solution dans leur article de 1992 sur le sujet. Pour utiliser cette approche, il fallait utiliser des grands nombres -- d'une longueur se comptant en milliers de chiffres -- parce que les ordinateurs sont bien trop rapides pour calculer des racin�es carr�es sur des nombres de taille normale.

      La technique utilis�e par hashcash consiste en fait � utiliser des collisions partielles dans les hachages ("partial hash-collisions" en anglais). Ces collisions partielles sont bien plus rapides � v�rifier et faciles � programmer que des racines carr�es sur des grands nombres. Ils sont aussi plus courts (ce qui est plus pratique pour les ins�rer dans les ent�tes des emails). Hashcash est en outre non interactif ce qui est une propri�t� tr�s utile pour s'en servir dans les emails, parce que vous ne voulez pas attendre que le logiciel de votre correspondant vous envoie une r�ponse de refus automatique contenant le nombre � partir duquel vous devriez calculer la racine carr�e. Avec hashcash, vous, en tant qu'exp�diteur, vous choisissez la cha�ne de caract�res � partir de laquelle la collision partielle sera calcul�e, donc aucune interaction n'est n�cessaire.

      (Note technique : l'utilisation des racines carr�es poss�de une variante non interactive propos�e par l'auteur, qui consiste en une fonction de hachage et calculer des racines cubiques)

    3. Mais qu'est-ce qu'une collision dans un hachage ?
    4. Une fonction de hachage est une fonction cryptographique dont le but est qu'il soit tr�s difficile de trouver deux donn�es d'entr�e diff�rentes qui produisent la m�me donn�e de sortie. Parmi les fonctions de hachage c�l�bres, on peut citer MD5 et SHA1 (hashcash se sert de la fonction de hachage SHA1).

      Les fonctions de hachage cryptographiques comme SHA1 sont con�ues pour �tre r�sistantes aux collisions. Cela signifie qu'il est normalement tr�s difficile de trouver SHA1(x) ==  SHA1(y) lorsque x != y.

      Pour SHA1, on consid�re qu'il faudrait 2^160 essais de diff�rentes valeurs de y pour trouver la m�me donn�e de sortie que ce que donne une valeur fix�e de x.

      (Note technique : ce dernier probl�me s'appelle r�sistance � la deuxi�me pr�-image, parce que vous commencez avec une pr�-image x fix�e, et vous essayez de trouver une autre pr�-image y. Une collision standard dans un hachage aurait �t� de trouver deux valeurs arbitraires x et y qui donnent la m�me donn�e de sortie. Les collisions arbitraires sont bien plus faciles � trouver : environ 2^80 op�rations, ce qui est d� � un principe connu sous le nom de paradoxe de l'anniversaire).

    5. Et qu'est-ce que c'est qu'une collision partielle dans un hachage ?
    6. Puisque calculer une collision compl�te dans un hachage est impossible actuellement -- il n'y a pas assez de puissance de calcul dans le monde entier pour en cr�er une dans les 100 prochaines ann�es -- nous souhaitons simplifier le probl�me. Une fa�on simple de le simplifier est d'accepter une collision partielle. L� o� une collision compl�te veut dire que tous les bits de SHA1(x) sont identiques � ceux de SHA1(y), une collision partielle � k bits indique que seuls les k bits les plus significatifs doivent �tre identiques.

      Si par exemple nous prenons les 16 bits les plus significatifs, une collision partielle � 16 bits devient largement trouvable. En fait, mon ordinateur de bureau (un vieux pentium 2 � 400 MHz) peut en calculer une en un tiers de seconde.

      (Note technique : il s'agit de la deuxi�me pr�-image parce que nous commen�ons avec une valeur de x fix�e, et nous essayons de trouver une deuxi�me pr�-image telle que les r�sultats correspondent pour les 16 bits les plus significatifs)

    7. Sur quoi hashcash calcule-t-il les collisions ?
    8. Pour faire simple, sur l'adresses email du destinataire.

      En pratique, il y a quelques d�tails suppl�mentaires. Ce que hashcash fait en r�alit�, c'est chercher des collisions sur des cha�nes de caract�res telles que : 0:030626:adam@cypherspace.org:6470e06d773e05a8 dans laquelle vous pouvez distinguer une date (030626 = 2003, Juin, 26), et une adresse email (la mienne, adam@cypherspace.org). Le premier champs (le 0:) est la version du timbre, qui est fix�e � 0 actuellement. Le dernier champs -- la cha�ne de lettres tir�es aux hasard -- est juste du bruit qui permet de trouver une collision (nous devons essayer de nombreuses cha�nes diff�rentes, approximativement 2^16 pour une collision � 16 bits).

    9. Comment puis-je tester une collision ?
    10. C'est une des choses pratiques avec hashcash. Il utilise SHA1, donc si vous avez une impl�mentation de SHA1 � votre disposition, vous pouvez l'essayer. Le timbre ci-dessus hach� (sans retour � la ligne) donne :

      echo -n 0:030626:adam@cypherspace.org:6470e06d773e05a8 | sha1
      00000000c70db7389f241b8f441fcf068aead3f0
      Comme vous pouvez le constater, les 8 premiers chiffres sont 0. Je ne l'ai pas expliqu� auparavant, mais hashcash essaie de trouver une collision avec une s�rie de chiffres � 0. Donc le timbre ci-dessus est une collision sur 32 bits. C'est une collision exceptionnellement longue qui a demand� environ 7 heures de calcul � mon pentium 2 � 400 MHz. Mais pour des emails normaux, vous utiliseriez des timbres avec une collision de 16 � 20 bits (ce qui demande entre une fraction de seconde et quelques secondes sur la plupart des ordinateurs).

    11. Hum, je n'ai pas trop compris avec tous ces maths, expliquez encore ?
    12. En fait, vous n'avez pas besoin de comprendre la totalit� des maths utilis�s dans les fonctions de hachage cryptographique pour comprendre de quoi il s'agit. L'exemple de la racine carr�e est une analogie satisfaisante. L'exp�diteur peut calculer quelque chose en relation avec l'adresse du destinataire (la racine carr�e de celle-ci, pour continuer avec l'analogie), et le destinataire peut v�rifier cela (en l'�levant au carr�). Le destinataire saura donc que l'exp�diteur a cr�� ce timbre uniquement pour lui (et non pour quelqu'un d'autre) parce que la r�ponse (la racine carr�e) est intimement li�e � l'adresse email du destinataire. Et le destinataire pourra faire cette v�rification tr�s rapidement.

      Vous pourriez m�me faire exactement ceci. La seule raison pour laquelle hashcash ne le fait pas, c'est qu'il est plus efficace d'utiliser les collisions partielles dans les hachages, bien que l'effet soit exactement le m�me.

  7. Mais est-ce qu'un spammeur ne peut pas tricher avec hashcash ?
    1. Est-ce qu'un timbre ne peut pas �tre r�-utilis� pour envoyer des emails � beaucoup de destinataires diff�rents ?
    2. Non, parce que les timbres ne sont valides que pour un seul destinataire. Les timbres sont un peu comme un ch�que : il y a un destinataire bien identifi�. Si un timbre est fait pour joe@foo.com, alors tous les destinataires autres que joe@foo.com rejetteront le timbre, parce qu'il ne leur est pas destin�.

    3. Est-ce qu'un spammeur ne pourrait pas changer l'adresse email � laquelle un timbre est destin� ?
    4. Non, parce que le timbre est calcul� sur l'adresse email du destinaire. Si l'adresse email est chang�e, la v�rification du timbre �chouera. Il n'y a aucune fa�on de changer l'adresse email du destinataire d'un timbre existant sans calculer un tout nouveau timbre sur cette nouvelle adresse email.

    5. Mais est-ce qu'un timbre ne peut pas �tre r�-utilis� pour m'envoyer plein d'emails ?
    6. Non, parce que les timbres ne sont valides que pour une seule utilisation. Chaque destinataire conserve la liste des timbres re�us afin d'�viter ce probl�me, et si un message contenant un timbre d�j� utilis� est re�u, il est rejet�.

    7. Mais est-ce que cette liste ne cro�t pas ind�finiment ?
    8. Non, parce que le destinataire n'a besoin que de garder la liste des timbres valides actuellement, les timbres qui ont expir� peuvent �tre supprim�s de la liste. Chaque timbre contient une date de cr�ation, et l'expiration est mesur�e � partir de cette date.

    9. Mais est-ce que �a ne permet pas aux spammeurs de r�-utiliser des vieux timbres ?
    10. Non, parce que le destinataire rejettera les timbres expir�s s'ils sont r�-utilis�s apr�s expiration bas�e sur leur vieille date de cr�ation.

    11. Mais est-ce que le spammeur ne peut pas changer la date de cr�ation dans des vieux timbres pour les rendre valides � nouveau ?
    12. Non, parce que le timbre est calcul� � partir de la date de cr�ation aussi. Si la date de cr�ation change, la v�rification du timbre �chouera. Il n'y a aucune mani�re de changer la date de cr�ation d'un timbre existant sans devoir recalculer un tout date de cr�ation.

    13. Est-ce que quelqu'un ne peut pas faire d�border la liste des timbres re�us ?
    14. Non, parce que le co�t serait prohibitif. Hashcash ne conserve les timbres dans la liste des timbres re�us que le temps pendant lequel ils sont valides et ont une valeur suffisante. Donc cela co�te � l'exp�diteur significativement plus pour cr�er un timbre valide que cela ne vous co�te � vous pour le conserver. Apr�s que les timbres aient expir�, ils seront supprim�s de votre liste, et l'espace qui �tait occup� est ainsi lib�r�. De plus, le co�t de stockage de l'email sera bien plus important que le co�t de stockage d'une liste de petits timbres.

    15. Est-ce que quelqu'un ne peut pas faire d�border la liste avec des timbres contenant des dates de cr�ation dans le futur ?
    16. Non, parce que les timbres avec des dates de cr�ation dans le futur sont rejet�s comme invalides et donc ne sont pas stock�s dans la liste. On suppose ici qu'avec une fausse date de cr�ation tr�s loin dans le futur, la liste du destinataire contiendra le timbre pendant un temps tr�s grand, mais c'est impossible puisque les timbres sont rejet�s.

    17. Que se passe-t-il si deux personnes cr�ent accidentellement le m�me timbre pour le m�me destinataire ?
    18. Si cela arrivait, ce serait un probl�me parce que la deuxi�me utilisation d'un m�me timbre est rejet�e. Cependant, hashcash est con�u de telle sorte qu'il est tr�s improbable qu'un tel cas de figure se produise. La probabilit� est de l'ordre de celle de gagner au loto � chaque tirage pendant plusieurs tirages de suite.

    19. Est-ce que quelqu'un ne pourrait pas surcharger le serveur d'un FAI qui v�rifierait le timbre hashcash pour tous les utilisateurs ?
    20. La v�rification d'un timbre hashcash est tr�s rapide. Il faut environ 2 microsecondes pour v�rifier un timbre sur une machine � 1 GHz. Cette m�me machine peut v�rifier des timbres plus rapidement que vous ne pourrez jamais lui envoyer des emails sur une ligne OC12 (une ligne tr�s ch�re � environ 1 Gbit par seconde de d�bit). Si quelqu'un envoie des emails � cette vitesse, le goulot d'�tranglement sera la pile TCP, le serveur mail et le syst�me d'exploitation. V�rifier des timbres hashcash pour les utilisateurs ne ralentira pas de mani�re visible le serveur mail, parce que cela consiste en des op�rations bien moins co�teuses que toutes les autres n�cessaires au traitement d'un email.

  8. D'autres questions techniques ?
    1. Et si on envoie un email � plusieurs destinataires en m�me temps ?
    2. Il doit y avoir un ent�te X-Hashcash: par destinataire. Chaque destinataire cherche celui qui lui est destin�, et le v�rifie.

    3. Et avec les copies cach�es (BCC) ?
    4. Afin de conserver le caract�re priv� des destinataires cach�s, chaque email contenant un destinataire cach� doit �tre transmis s�paremment.

      Cependant, on peut noter que Bcc: n'est plus tr�s utilis� de nos jours, justement � cause du spam. Les spammeurs aiment beaucoup utiliser Bcc parce que c'est moins criard qu'un email contenant 100 ou 1000 destinataires en Cc:. Au final, nombre de gens ont commenc� � tout simplement supprimer les email qui ne contiennent pas comme destinataire explicite leur propre adresse. (En fait, l'auteur est aussi coupable de cela parce que c'�tait facile et efficace pendant un moment).

    5. Est-ce que je peux utiliser plusieurs adresses email, et la transmission des emails (forwarding) ?
    6. Bien s�r. Vous devez juste configurer votre plugin hashcash avec les adresses pour lesquelles vous attendez du courrier. Par exemple si vous avez deux adresses foo@pobox.com et foo@isp.com, et votre adresse pobox.com est transmise (forward�e) � votre adresse isp.com � partir de laquelle vous lisez vos emails, il vous suffit de dire � votre plugin hashcash que vous recevez les emails destin�s � foo@isp.com, ainsi qu'� l'adresse suppl�mentaire foo@pobox.com.

    7. Et en ce qui concerne les mailings-lists (listes de diffusion/discussion), est-ce que le processeur de la machine qui g�re la mailing-list ne va pas �tre surcharg�  ?
    8. Le serveur qui s'occupe de la mailing-list ne doit pas cr�er de timbres hashcash pour chaque destinataire, cela le surchargerait beaucoup trop.

      Lorsqu'on envoie un email � une mailing-list, le plugin hashcash va consid�rer que l'adresse de la mailing-list est le destinataire. En fait, cela se passera de mani�re transparente parce que les adresses des mailing-lists ont exactement la m�me allure que toutes les autres adresses email.

      Ensuite, les utilisateurs qui se sont abonn�s � la mailing-list devront accepter les emails en provenance de l'adresse de la mailing-list. Lorsque vous vous abonnez � une mailing-list, et que vous reconfigurez les filtres de votre logiciel, de la m�me fa�on vous signalez � votre logiciel (et son plugin hashcash) que vous allez recevoir des emails en provenance de cette adresse. Finalement, pour hashcash, une mailing-list c'est exactement comme une adresse suppl�mentaire pour laquelle vous souhaitez recevoir du courrier.

    9. N'y a-t-il pas un probl�me de course (une race condition) avec les mailing-lists ?
    10. Oui. Voici comment �a marche : un spammeur s'inscrit � une mailing-list pour laquelle des utilisateurs envoient des messages avec un timbre hashcash. Si le spammeur est assez rapide, il peut recevoir le timbre hashcash avant certains autres abonn�s, et le r�utiliser pour envoyer du spam � ces personnes-l�, sans avoir � subir le co�t de g�n�ration du timbre. Avec certaines mailing-lists, il est m�me possible pour le spammeur d'obtenir la liste des abonn�s uniquement en la demandant au serveur de la liste (mais de toutes fa�ons, ceux qui envoient des messages ne peuvent cacher leur adresse).

      Cependant, ceci est un probl�me d� aux mailing-lists, ce n'est pas un probl�me � cause de hashcash. Le but de hashcash c'est que le destinataire (unique) v�rifie le timbre. Le destinataire ici, c'est le serveur de la mailing-list. De toutes fa�ons, n'importe quel timbre hashcash conserv� par le serveur peut subir ce probl�me de course.

      Le manque d'authentification au niveau des mailing-lists est un probl�me ind�pendant de hashcash. Si une mailing-list poss�de un mod�rateur, ou bien encore si elle est configur�e pour n'accepter que les emails des abonn�s, un spammeur peut encore forger un message de telle sorte qu'il semble venir de la mailing-list, et tous les destinataires le placeront automatiquement dans le dossier correspondant � la mailing-list. Je n'ai pas rencontr� ce probl�me pour de vrai, mais je suppose que cela doit d�j� arriver ; sinon, c'est s�rement parce qu'il y a d'autres proc�d�s encore plus simples pour spammer les mailing-lists (pas de mod�rateur contre le spam, pas de restriction pour que seuls les abonn�s puissent poster, etc).

      D'autres approches ont �t� utilis�es pour authentifier le trafic sur les mailing-lists. Par exemple, il est possible de demander au serveur de signer avec PGP les messages qu'il envoie.

      Une approche sp�cifique � hashcash (�vitant les signatures) serait que le timbre hashcash inclue un hachage du contenu du message lui-m�me. Cela interdirait le probl�me de course pour r�-utiliser le timbre, et aussi les probl�mes de course utilis�s comme d�ni de service. (lorsque le probl�me de course est exploit�, les utilisateurs qui re�oivent le spam ne verront jamais le vrai message parce que le plugin hashcash aura identifi� le timbre comme d�j� re�u gr�ce � la liste discut�e plus haut). Cependant, inclure le contenu du message dans le hachage pose un probl�me � cause des transformations effectu�e par le MTA. Il est effectivement tr�s difficile de transmettre de mani�re fiable le contenu d'un email sans que des modifications (souvent mineures) soient appliqu�es. (lignes vides, codage des caract�res, etc) Les syst�mes de signature num�rique comme PGP et S/MIME rencontrent des probl�mes similaires.

      Vous pouvez consulter aussi la section sur les news.

    11. Est-ce que les spammeurs ne vont pas commencer � spammer les mailing-lists � la place ?
    12. Peut-�tre. Bon, en fait, c'est d�j� ce qu'ils font. Vous pouvez voir l'int�r�t : ils obtiennent gratuitement un relai -- le serveur de la mailing-list -- avec lequel il suffit d'envoyer un message pour qu'il soit retransmis � des milliers d'abonn�s. M�me avec hashcash, le spammeur a un int�r�t � utiliser cette technique : il calcule un timbre et il envoie � un grand nombre de destinataires.

      Il y a plusieurs choses qui peuvent et qui ont �t� faites pour pallier ce probl�me (encore une fois, ces approches antispam ont pour cons�quence des pertes d'email pour les utilisateurs).

      • Une approche est de n'autoriser que les abonn�s � envoyer un message � la liste. (Ce n'est pas pratique pour les personnes utilisant plusieurs adresses, ou qui utilisent des MTA diff�rents en fonction de l'endroit o� ils se trouvent -- votre email est rejet�. Cela m'arrive tr�s souvent, et c'est tr�s g�nant.)
      • Une autre approche est de filtrer la liste, ou d'utiliser la mod�ration, ce qui peut malheureusement conduire � la partialit� et une r�duction de la libre parole, si le mod�rateur mod�re aussi les discussions (en plus du spam).
      • Une autre approche encore est d'imposer un antispam � la liste. Par exemple avec filtrage par mots-cl�. Certains ont cette pratique, qui a le probl�me de supprimer des messages l�gitimes � cause des faux positifs.

      Il existe aussi une syst�me de filtrage collaboratif du nom de NoCeMs, mais il a besoin d'un logiciel particulier chez les utilisateurs, ou au minimum d'un d�lai de transmission lors duquel les NoCeMs s'accumulent.

    13. Mais est-ce que le probl�me de course li� aux mailing-lists ne s'applique pas aussi aux messages avec destinataires multiples ?
    14. Oui, en th�orie c'est le cas. En pratique le probl�me est marginal parce que le spammeur aurait bien moins de contr�le sur les messages qu'il recevrait, et en g�n�ral les messages sont envoy�s � bien moins de destinataires et donc contiennent bien moins d'adresses pour lesquelles le probl�me de course pourrait survenir.

      Une autre approche pour r�soudre ce probl�me (lorsqu'il y a une tr�s grande liste de destinataires, et parmi eux potentiellement des spammeurs) est d'utiliser les copies cach�es (BCC). En utilisant les copies cach�es, chaque email est transmis s�paremment donc chaque destinataire ne voit que le timbre qui lui est adress�. Cependant, les copies cach�es sont parfois moins fiables parce que les gens ont l'habitude de ne pas lire les copies cach�es � cause du spam. Une autre approche serait d'utiliser une distribution comme pour les copies cach�es (s�paremment pour chaque destinataire) mais en conservant le destinataire explicitement. De cette mani�re, chaque destinataire ne recevra que l'affranchissement hashcash lui �tant adress�.

      De m�me, la m�me approche qu'avec les mailing-lists (le fait d'utiliser le contenu du message dans le hachage) serait une solution � ce probl�me.

      Cependant, en g�n�ral les listes tr�s longues de destinataires avec un timbre hashcash pour chacun seraient peu utilis�es, parce que le temps d'envoi serait particuli�rement long � mesure que la liste compterait des centaines voire des milliers de destinataires. Dans ce cas-l�, l'exp�diteur subirait le m�me probl�me que le spammeur, � savoir un temps d'envoi excessif. L'exp�diteur devrait en fait faire en sorte que les destinataires le traitent comme une mailing-list de telle mani�re qu'un timbre hashcash ne soit pas n�cessaire � l'envoi.

    15. Est-ce que les whitelists automatiques ne peuvent pas �tre abus�es ?
    16. Si aucune authentification n'est utilis�e, les whitelists automatiques pourraient �tre abus�es. Voici comment cela fonctionnerait : les utilisateurs qui entrent dans la whitelist sont des utilisateurs qui n'ont plus besoin de timbre hashcash entre eux. Si un spammeur capturait votre carnet d'adresses, ou votre whitelist, il pourrait forger un email � destination de vos amis en se faisant passer pour vous, et n'aurait donc pas � utiliser de timbre hashcash.

      La solution � ce probl�me est d'utiliser l'authentification bien que les utilisateurs soient dans la whitelist.

      J'ai mentionn� auparavant dans la FAQ que CAMRAM est un syst�me bas� sur hashcash qui utilise une whitelist automatique. La fa�on dont CAMRAM pratique l'authentification avec la whitelist, est que hashcash est utilis� pour vous pr�senter aux autres utilisateurs, puis une fois cela fait, une signature est utilis�e. Ainsi, il n'est pas possible d'abuser la whitelist.

      En r�alit�, pour le d�ploiement � court terme, CAMRAM fournit aussi d'autres moyens de se pr�senter, et dans ce cas il n'y a pas de signature, donc la whitelist est th�oriquement vuln�rable � l'abus. Cependant, � l'heure actuelle, c'est un effet de second plan qui a peu de chance d'�tre attaqu�.

    17. Et lorsqu'on souhaite envoyer un message sur les news ?

      Dans le contexte des news, utiliser un timbre hashcash serait utilis� pour exempter un message des autres v�rifications antispam. La principale technique antispam sur les news est d'annuler les messages forg�s. De m�me qu'avec les blacklists pour l'email, annuler les messages forg�s demande de la vigilance -- un certain nombre d'utilisateurs privil�gi�s prennent l'initiative d'annuler les messages qu'ils consid�rent �tre du spam. Malheureusement, cela d�g�n�re fr�quemment et les utilisateurs se font la course pour annuler et annuler les annulations pour les m�me messages. Et de plus, il y a eu des circonstances dans lesquelles certains messages annul�s n'�taient pas du spam, l'annulation tenant plus de la censure et des motivations personnelles.

      NoCeMs a �t� con�u pour lutter contre ce probl�me. Avec NoCeMs les messages ne peuvent pas �tre annul�s. � la place de cela, plusieurs messages (sign�s par cl� PGP) sont envoy�s signalant le spam. Les utilisateurs choisissent les messages d'annulation qu'ils souhaitent prendre en compte, en fonction de leurs auteurs.

      NoCeMs semble �tre une meilleure solution au spam sur les news que hashcash. Utiliser hashcash pour exempter des messages d'annulation peut sembler une bonne id�e � premi�re vue, mais puisque les news utilisent un syst�me de diffusion large, le co�t d'un timbre hashcash pourrait au contraire devenir int�ressant pour le spammeur afin d'�tre s�r de ne pas subir d'annulation.

      Si vous souhaitez l'utiliser quand m�me, je recommanderais d'utiliser le groupe de discussion lui-m�me comme destinataire pour le timbre hashcash, comme alt.privacy.anon-server par exemple.

      Dans beaucoup de logiciels de messagerie, on peut m�langer des emails et des news. Par exemple, on peut faire une copie (email) d'un message envoy� sur les news. Cela conserverait donc une certaine logique d'envoyer un timbre vers le groupe de discussion aussi. (En fait, cela fonctionne peut-�tre sans aucune configuration particuli�re avec certains plugins hashcash)

      Notez que les news souffrent du probl�me de course discut� � propos des mailing-lists de mani�re beaucoup plus aig�e. N'importe quel timbre envoy� sur les news sera re�u parfois plusieurs jours apr�s les premiers sur certains serveurs et donc par certains utilisateurs. Cela signifie qu'un utilisateur recevant le message en premier pourra se servir du timbre.

      M�me si je consid�re hashcash de valeur marginale pour les news comme discut� plus haut, si on voulait r�soudre ce probl�me, on pourrait utiliser la m�me approche qu'avec les mailing-lists. C'est-�-dire, utiliser le contenu du message dans le hachage. (m�me si, comme not� pour les mailing-lists, le probl�me avec cette solution est le fait que le contenu du message peut �tre alt�r� au cours du transport. On peut utiliser des signatures PGP ou S/MIME pour faire face � ce probl�me.)

    18. Et en ce qui concerne les passerelles email vers les news ?
    19. Ces passerelles sont des adresses email qui permettent d'envoyer des messages vers les news. Leur principale fonction est d'�tre associ�es aux remailers anonymes, car certains d'entre eux ne peuvent envoyer qu'� des adresses emails, mais pourtant les utilisateurs de remailers souhaitent pouvoir envoyer des messages vers les news. C'est un cas diff�rent de celui des envois normaux vers les news. Il peut y avoir des �tapes suppl�mentaires � effectuer pour utiliser hashcash avec une telle passerelle, pour limiter l'abus de ses services. Michael Shinn et Alex de Joode font des essais avec l'affranchissement hashcash pour les passerelles email vers news. Michael Shinn fait aussi des essais avec le principe d'autoriser des envois de messages avec comptes pseudo-anonymes.

    20. Et en ce qui concerne les remailers anonymes ?
    21. Tout comme dans le cas des passerelles email vers news, les remailers individuels peuvent se servir de hashcash pour limiter fortement l'abus de leurs services. Je pense qu'il doit exister des logiciels pour faire cela, et si je me rappelle bien, il a exist� un remailer exp�rimental qui utilisait hashcash dans l'envoi des messages. Cependant, cette pratique semble peu utilis�e.

      Il peut �tre cependant utile d'utiliser hashcash lorsque plusieurs remailers se transmettent un email, pour accro�tre la fiabilit� entre eux. La fiabilit� des emails est consid�r�e comme un probl�me majeur pour les remailers de type I et II ; le probl�me est exacerb� par le fait que l'exp�diteur ne recevra jamais en retour son email refus� lorsque quelque chose fait �chouer la transmission.

      Mais la meilleure id�e est quand m�me de ne pas effectuer une transmission directe par email entre les remailers (parce que l'absence de message refus� en retour est syst�mique). Mixminion (qui est aussi appel� un remailer de type III) utilise par d�faut SSL pour effectuer cette transmission. Cela accro�t la fiabilit� et fournit une meilleure s�curit� parce que la cl� n'est utilis�e qu'une fois au cours du transfert (forward-secrecy).