[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fsfe-france] Re: Re: autorisation de GnuPG et OpenSSL
From: |
Loic Dachary |
Subject: |
Re: [Fsfe-france] Re: Re: autorisation de GnuPG et OpenSSL |
Date: |
Fri, 9 Aug 2002 14:17:57 +0200 |
pplf writes:
> déclaration préalable, et si et seulement si le programme n'est pas
> aisément modifiable.
Le terme exact est "facilement" et concerne "l'utilisateur".
Cela a son importance. Cette condition concerne uniquement la
dispense de formalités douanières. Cf
http://admi.net/jo/20011215/ECOX0100059D.html article 10.5 point b).
> Un programme de crypto fourni avec ses sources et sous GPL est
> clairement aisément modifiable. D'ailleurs, je connais au moins 3
> versions cryptographiquement modifiées (et théoriquement renforcées en
> longueur de clef) de GnuPG Win32 diffusés dans le monde par divers
> bidouilleurs.
Je ne suis pas d'accord. Voici le raisonnement qui a permis à
la DCSSI de conclure que "La fonctionnalité cryptographique ne peut
pas être modifiée facilement par l'utilisateur" pour GnuPG et OpenSSL.
Il est inclus in extenso dans les dossiers.
----
Dans le cas d'un logiciel propriétaire, les éléments de
l'équation sont une personne physique ou morale, un objet
binaire (le produit). Dans le cas d'un Logiciel Libre, le code
source vient s'ajouter. On peut donc légitimement s'interroger
sur les conséquences pour la facilité avec laquelle
l'utilisateur peut modifier la fonctionnalité cryptographique.
Qu'on dispose des sources ou du binaire, il est toujours
possible de modifier au hasard, grâce à un éditeur de texte, le
binaire ou les sources. C'est un processus facile pour tout
utilisateur mais on s'accorde à dire que le seul résultat
serait de rendre le logiciel non fonctionel. Même s'il est
possible de qualifier une telle modification de facile et
concernant les fonctionalités cryptographiques, elle
s'appliquerait alors à tout logiciel. C'est un cas absurde et
nous sommes en fait intéressés par le cas d'un logiciel qui
permettrait une modification facile de ses fonctionalités
cryptographiques tout en restant fonctionel.
Pour envisager de modifier les fonctionalités cryptographiques,
l'utilisateur doit tout d'abord disposer de notions
mathématiques et une connaissance approfondie du domaine de la
cryptographie. Sans ce bagage théorique, il a toutes les
chances de tenter des modifications qui rendront le logiciel
inopérant. Hors disponibilité des sources ou du binaire seul,
ce bagage théorique est une précondition qui constitue à lui
seul un obstacle qui rend la tâche difficile.
En l'absence de bagage théorique, l'utilisateur peut tenter une
modification en suivant à la lettre et aveuglément des
instructions fournies par un tiers. Dans le cas d'un logiciel
de cryptologie sous forme binaire les instructions peuvent
prendre la forme d'un petit programme automatisant ces
modifications. Il existe de nombreux programmes de ce genre, en
général disponible sur le web. Dans le cas d'un logiciel de
cryptologie disponible sous forme source, il s'agirait d'un
patch s'appliquant sur les sources. Il s'agit essentiellement
du même principe. Dans le cas du patch cependant, l'utilisateur
doit en plus avoir la capacité technique de reconstruire une
version binaire du logiciel de cryptologie, c'est donc un peu
moins aisé. Comme dans le cas des modifications aléatoires
rendant le logiciel inopérant, la possibilité de suivre
aveuglément des instructions existant pour tous les logiciels
de cryptologie (Logiciel Libre ou non), elle ne peut constituer
un critère qualifiant la modification des fonctionalités
cryptographiques de facile.
Supposons qu'une personne dispose du bagage théorique
nécessaire et qu'elle entreprenne de modifier les
fonctionalités cryptographiques sans appliquer des instructions
aveuglément. En présence d'un binaire seul, la personne doit
disposer d'une solide formation en assembleur, d'outils de
décompilation et d'une expérience de reverse engineering. En
présence d'un code source, la personne doit disposer d'une
solide formation dans le langage de programmation visé,
d'outils de compilation. En bref, elle doit avoir suivit une
formation en informatique pour tenter effectivement une
modification. Acquerir le bagage informatique nécessaire est
dans tout les cas un processus difficile.
Enfin, le produit peut, par choix de conception, permettre une
modification facile des fonctionalités de cryptographie. Le
produit peut, par exemple, contenir une interface homme machine
dont l'objet est de permettre à l'utilisateur de modifier les
fonctionnalités cryptographiques. Il peut s'agir d'une
interface graphique ou d'une interface ligne de commande, et
cela implique que le logiciel a été expréssément conçu pour
offrir cette possibilité. Il est alors facile pour
l'utilisateur de modifier les fonctionalités cryptographiques.
Mais c'est un choix de conception qui n'a pas de lien avec la
disponibilité du code source du logiciel de cryptologie.
En conclusion, l'accès au code source n'implique pas en soit
qu'il est facile pour l'utilisateur de modifier les
fonctionalités cryptographiques. Il s'agit avant tout d'un
choix de conception délibéré qui doit être jugé au cas par cas,
Logiciel Libre ou non. La disponibilité du code source fait
qu'il devient possible pour une personne ayant la volonté de
franchir les difficiles étapes menant aux connaissances
requises mais certainement pas facile pour l'utilisateur de
modifier les fonctions cryptographiques. C'est la, uniquement,
que réside la différence.
----
--
Loic Dachary http://www.dachary.org/ address@hidden
12 bd Magenta http://www.senga.org/ address@hidden
75010 Paris T: 33 1 42 45 07 97 address@hidden
GPG Public Key: http://www.dachary.org/loic/gpg.txt