Humeur : Télédéclaration française des revenus et logiciels libres
Posté par Benoît Sibaud (Jabber id, page perso, ). Modéré le 17 avril 2005.
La télédéclaration de revenus est apparemment un succès cette année, dépassant les prévisions de dimensionnement des serveurs et causant un embouteillage de contribuables. Des efforts ont été fait pour permettre une télédéclaration via un système libre GNU/Linux. On se rappelle d'ailleurs que le ministère français des finances a annoncé en 2004 sa migration partielle vers le logiciel libre (GNU/Linux, Samba, Bugzilla, etc.) dans le cadre des programmes Copernic et ADELE.
Au final, on relèvera trois contraintes gênantes pour des utilisateurs de logiciels libres :
- l'applet et sa bibliothèque de chiffrement propriétaire ;
- la nécessité d'accepter une licence avec la société américaine Sun pour déclarer ses revenus en France (« Si vous disposez de Windows ou Linux avec un des navigateurs suivants Netscape 6 ou 7, Mozilla, Opera (version sans JVM) ou Galeon : cliquez ici » qui envoie sur java.sun.com) ;
- la nécessité d'accepter de faire confiance à une autre société américaine (trop célèbre :() Verisign qui fournit le certificat pour la télédéclaration.
Au final, on relèvera trois contraintes gênantes pour des utilisateurs de logiciels libres :
- l'applet et sa bibliothèque de chiffrement propriétaire ;
- la nécessité d'accepter une licence avec la société américaine Sun pour déclarer ses revenus en France (« Si vous disposez de Windows ou Linux avec un des navigateurs suivants Netscape 6 ou 7, Mozilla, Opera (version sans JVM) ou Galeon : cliquez ici » qui envoie sur java.sun.com) ;
- la nécessité d'accepter de faire confiance à une autre société américaine (trop célèbre :() Verisign qui fournit le certificat pour la télédéclaration.
DLFP : « Le ministère des Finances utilisera les logiciels libres dans la gestion des impôts » (424 hits)
APRIL : Analyse du projet gouvernemental ADELE (183 hits)
Journal DLFP sur l'afflux trop important sur les serveurs de télédéclaration (325 hits)
DLFP : « 500.000 déclarations de revenus en ligne ! » (2003) (181 hits)
Longue discussion sur Usenet fr.comp.securite (252 hits)
DLFP : « VeriSign attaque l'ICANN » (232 hits)
> Lire la dépêche (64 commentaires, moyenne: 2,9).
Vous avez demandé le commentaire #563508.




[+] support amélioré ???
c'est inacceptable !
Là où la CAF ou les taxe d'habitation font du HTML simple et qui marche partout, pour la déclaration de revenus, et bien ça ne marche sans installer cette pourriture de Sun. Pis encore, même sous MacOSX (on m'a rapporté) ça ne passe pas. En gros, c'est une énorme daube en Java pour faire portable mais au final, faut un ouin ouin et la bordel de Sun. Ras le bol !
Je me souviens pas comment c'était l'année dernière, mais présenter un truc en Java Sun comme une innovation, une amélioration, c'est le monde à l'envers !
Quant à tout le fric que perd l'état français perd avec des sociétés américaines, c'est navrant. La réduction de 20E pourrait être bien supérieure je pense.
[^]Re: support amélioré ???
c'était déjà en Java, simplement ca marchait (encore) moins bien
Développeur OpenSource
[^]Re: support amélioré ???
d'un autre coté.. ils ont pas filé de thunes à sun et il y a des boites françaises qui font ce que fait verisign ?
[^]Re: support amélioré ???
"il y a des boites françaises qui font ce que fait verisign ?"
Mais bien sûr !
Par exemple dans le domaine de la carte Vitale, que je connais bien, on utilise des certificats made in cororico :-)
[^]Re: support amélioré ???
Par exemple dans le domaine de la carte Vitale, que je connais bien, on utilise des certificats made in cororico :-)
D'abord contrairement à ce qui est dit dans la dépèche, Verisign ne fournit pas le certificat pour la télédéclaration mais le certificat de signature de l'applet, ce qui n'est pas la même chose. Le certificat de télédéclaration est fournit par l'autorité de certification du Minéfi.
Alors bien sûr les certificats pour la carte Vitale ne sont pas exactement la même chose. Produire un certificat c'est simple mais ici ce qu'il faut c'est un certificat de signature de code reconnu nativement par les navigateurs web. Pour cet usage je ne crois pas qu'il existe une entreprise française (ou même européenne) qui fasse cela, c'est à dire qui possède une autorité racine autorisée à signer du code et présente nativement dans les navigateurs web.
Hurd will be out in a year (or two, or next month, who knows)
-- Linus Benedict Torvalds, 1991
[^]Re: support amélioré ???
Salut,
A titre de curiosité, qui crée les certificats concernant la carte Sesam Vitale ?
- Christophe -
[^]Re: support amélioré ???
Là où la CAF ou les taxe d'habitation font du HTML simple et qui marche partout, pour la déclaration de revenus, et bien ça ne marche sans installer cette pourriture de Sun.
Tu ne peux pas comparer ce qui n'est pas comparable. Pour la télédéclaration tu as besoin de signer numériquement, c'est à dire faire tourner du code côté client. Pour cela il existe deux technologies qui tournent à peu près partout : javascript et java.
Pour ce qui est de Javascript, deux problèmes : existe-t-il une bibliothèque crypto en javascript ? Et surtout où en est le support du javascript signé dans les différents navigateurs, car il faut accéder au disque de l'utilisateur pour stocker son certificat par exemple ?
Oui, TéléIR est critiquable mais je choix de java n'est certainement pas le pire des choix qui a été fait.
Hurd will be out in a year (or two, or next month, who knows)
-- Linus Benedict Torvalds, 1991
[^]Re: support amélioré ???
> Pour la télédéclaration tu as besoin de signer numériquement (...)
En même temps, vu comment on obtient le certificat, elle est belle la signature numérique...
[^]Re: support amélioré ???
J'ai même pas fait attention si c'était en SSL d'ailleurs. Et la signature numérique, super, un numéro et un mot de passe, et après ça stocke, sans rien demander, et on ne sais pas trop comment, la clef sur le disque. (Certains pourraient conclure à un mouchard). Cette signature numérique, à usage unique, ne sert à pas grand chose je trouve. Elle ne garantit rien si ce n'est qu'on est porteur du papier et pas l'identité. C'est la même chose pour la version papier : personne ne va vérifier que c'est la bonne signature. La seule authentification que je vois, c'est au moment de payer, si ça colle pas avec la déclaration, on gueule, sinon ça passe.
[^]Re: support amélioré ???
Ce ne serait pas un faux débat ?
A partir du moment où un appareil est utilisé (mécanique, eléctrique, électronique), et encore plus lorsque du soft entre en action, il est impossible d'identifier de façon certaine la personne à l'origine d'une action.
Un interlocuteur humain n'est pas non plus la solution, puisqu'il en faudrait un qui connaisse personnellement et identifie de façon formelle l'ensemble des déclarants qui s'adressent à lui.
Que proposerais-tu comme solution ?
[^]Re: support amélioré ???
Je m'étais déjà émerveillé (ou plutôt inquiété) de l'insécurité des mots de passes Yahoo: ni https, ni rien d'autre, apparemment. Quand, en regardant le source des pages de login/mot de passe (http://edit.europe.yahoo.com/config/mail?.intl=fr(...) ), j'ai trouvé des tas de fonctions compliquées, genre, hex_chr, str2blks_MD5, MD5 etc...
et un gros commentaire, avec le lien vers tout ce qu'il faut:
/*
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Copyright (C) Paul Johnston 1999 - 2000.
* Updated by Greg Holt 2000 - 2001.
* See http://pajhome.org.uk/site/legal.html(...) for details.
*/
Sinon, pour le support des scripts signés, pas la moindre idée, désolé.
[^]Re: support amélioré ???
Euh "l'insécurité des mots de passes Yahoo" faudrait la faire à d'autres, le système de yahoo, fonctionne en cryptant coté client le pass avec un hash aléatoire avant de l'envoyer au serveur qui fait le même calcul et qui compare, le mots de pass ne transite jamais entre le client et le serveur (si ce n'est sous la forme d'une clé MD5 mergé avec le hash aléatoire qui ne permet pas de retrouver le password)
C'est le système que j'utilise pour tout les formulaires de login que je met en place, et c'est difficile de faire mieux.
[^]Re: support amélioré ???
Et comment le navigateur web authentifie-t'il le serveur ? Il y a quelque chose de prévu pour faire ça ?
[^]Re: support amélioré ???
En choisissant le mode de connexion sécurisé sur la page de login, ce qui nous renvoie vers une page en https (certificat signé par verisign), contrairement à ce qui est dit 2 commentaires plus haut.
[^]Re: support amélioré ???
Ben oui, mais tant qu'on a pas été voir les sources de leurs pages, on est pas au courant que, je cite:
D'accord, j'étais peut-être un peu trop "implicite" dans mon message. Mais l'implication est que l'utilisateur lambda mais parano, il voit pas de cadenas fermé comme on en voit sur une page HTTPS, et donc il n'est pas rassuré. L'avantage du système Yahoo est que pour la sécurité recherché (confidentialité du mot de passe, et rien d'autre), est la légèreté de ce hack pour le client comme pour le serveur.
Alexis
[^]Re: support amélioré ???
Question : est-ce que, avec ce système, il est obligatoire d'avoir le mot de passe stocké en clair dans la base de données ? (en clair, ou au moins avec un algorithme réversible)
[^]Re: support amélioré ???
malheureusement oui ...
Et si on ne stocke qu'une empreinte de celui-ci (on pourrait l'imaginer au premier abord) on ne pourra la comparer qu'à une empreinte du coté client, donc au final, le mot de passe devient l'empreinte mémorisée... le problème est équivalent.
Néanmoins la seule possibilité de compromission, reste le piratage de la base de données du serveur.
[^]Re: support amélioré ???
Au moins, en stockant une empreinte côté serveur, on a l'avantage que si la base est compromise, seul ce serveur là l'est, et pas un autre où le même mot de passe aurait été utilisé.
Ça n'ajoute peut-être aucune sécurité au niveau de cette appli là, mais globalement, ça doit avoir du bon... non ? :)
[^]Re: support amélioré ???
> Tu ne peux pas comparer ce qui n'est pas comparable. Pour la
> télédéclaration tu as besoin de signer numériquement,
La force d'un système de sécurité c'est celle de son maillon le plus faible. Ici la "signature" ne sert strictement à rien. Vu que tout le monde obtient la clé pour signer grace à trois question, il n'y a *aucun* intérêt à avoir une clé complexe avec java et tout et tout plutot que de demander simplement les 3 questions lors des différentes étapes. La sécurité est exactement la même dans les deux cas (vu qu'on est sur ssl).
[^]Re: support amélioré ???
C'est clair. Je vois pas bien la différence entre leur truc et un système ou tu ouvres une session avec cookie + HTTPS en répondant aux questions au début et en validant a la fin.
[^]Re: support amélioré ???
La sécurité est exactement la même dans les deux cas (vu qu'on est sur ssl).
Non, il ne faut pas confondre authentification et signature. La signature est plus forte que l'authentification car elle fournit aussi l'intégrité du message signé et la non-répudiation.
Ce que tu proposes là c'est simplement de l'authentification. De plus la signature est nécessaire pour des raisons légales.
Hurd will be out in a year (or two, or next month, who knows)
-- Linus Benedict Torvalds, 1991
[^]Re: support amélioré ???
> Ce que tu proposes là c'est simplement de l'authentification.
Oui, l'intégrité du message et sa sécurité étant assuré par SSL et le certificat du serveur Web, comme partout ailleurs. Ca suffit tout à fait techniquement. Là on a empilé des couches inutilement.
> De plus la signature est nécessaire pour des raisons légales.
Oui, mais la signature électronique est un concept mal défini. Ainsi le code secret d'une carte bleu est considéré comme signature électronique, je ne vois pas pourquoi la réponse à trois questions sensées être privées ne pourraient pas l'être aussi.
Bref, les raisons ne sont d'après moi pas techniques. Il faut juste faire un montage complexe pour "montrer" qu'on est sécuriser et qu'on a monté un truc super avancé techniquement, même si en réalité ça n'apporte rien de plus et c'est moins compatible.
[^]Re: support amélioré ???
Oui, l'intégrité du message et sa sécurité étant assuré par SSL et le certificat du serveur Web, comme partout ailleurs.
SSL assure l'intégrité du transport mais pas de la déclaration. Une fois l'échange terminé, rien n'assure que la déclaration ne sera pas modifiée sauf une signature.
Oui, mais la signature électronique est un concept mal défini.
Qu'appelles-tu mal défini
La signature électronique est définie en autre
là : http://www.legifrance.gouv.fr/texteconsolide/ARHCG.htm(...)
et là : http://www.legifrance.gouv.fr/WAspad/Visu?cid=3213762&indice=2&(...)
Ainsi le code secret d'une carte bleu est considéré comme signature électronique, je ne vois pas pourquoi la réponse à trois questions sensées être privées ne pourraient pas l'être aussi.
Je m'avance peut-être car je ne connais pas trop le méchanisme des cartes bancaires mais il est fort possible que tu fasses effectivement une signature électronique (au sens que tu appliques un algorithme de signature) quand tu paies avec une carte. Et dans ce cas le code PIN sert uniquement à autoriser la carte à utiliser la clé privée pour calculer la signature.
Les trois questions posées pour TéléIR permettent de s'identifier auprès de l'autorité de certification du Minéfi et de récupérer sa clé et son certificat (c'est un peu comme prouver à sa banque son identité pour obtenir une carte). La signature ne s'effectue qu'à la fin quand on te demande ton mot de passe, ce qui est l'équivalent de taper son code PIN pour une carte à puce.
Hurd will be out in a year (or two, or next month, who knows)
-- Linus Benedict Torvalds, 1991
[^]Re: support amélioré ???
"Les trois questions posées pour TéléIR permettent de s'identifier auprès de l'autorité de certification du Minéfi et de récupérer sa clé et son certificat (c'est un peu comme prouver à sa banque son identité pour obtenir une carte)."
Faux
Et c'est là que, en fait, utiliser le bouzin en java (mais un bouzin en javascript aurait marché aussi) prend du sens (voir étape 3).
1- tu te connecte en SSL à la DGI, la signature du certificat de la dgi par Verisign (ou Thawte ou laposte) te garantie que tu parle bien à la DGI et à personne d'autre.
2- tu réponds à 3 questions triviales dont toi et la DGI sont (normalement) les seuls dépositaires des réponses correctes (<melvin>m'enfin rien n'empêche d'imaginer que pour un quidam qui n'a de revenu que son salaire, il soit possible à son employeur de faire les calculs pour connaitre les réponses</melvin>*). Cela permets à la machine de la DGI de savoir que tu es bien celui que tu prétends être.
3- Tes bonnes réponses te permettent non pas de retirer un certificats comme tu retire ta carte à la banque, mais de télécharger l'applet qui génèrera ton certificats sur TON disque, avec TON CPU, TA mémoire vive et TON /dev/random. Que cet applet soit en java ou que ce soit un code javascript n'est pas la question. LE point crucial est que c'est éxécuté en local.
4- Tu fait ta déclaration, tu la chiffre avec la clef publique de la DGI et tu signe le tout avec la clef privé du certificat que tu viens de générer (dans cet ordre) : seule la dgi peut lire le contenu transmis, et ta signature numérique apposé sur le tout garantie que c'est toi qui a généré le lot de données chiffrée transmises à la dgi contenant ta déclaration.
ouala ouala
*: le tag <melvin></melvin> est là parce que 42 ! (d'ailleurs le film sors bientôt).
[^]Re: support amélioré ???
Faux
Ok, tu as raison, mea culpa. A trop vouloir raccourcir on finit par dire des trucs imprécis et limite faux.
Deux remarques cenpendant :
- connaitre le revenu d'une personne ne suffit pas, il faut aussi le n° de télédéclarant et le n° fiscal (quoique celui-là il est peut-être public)
- quitte à être précis, je crois que la cinétique des échanges entre le client et la PKI qui délivre les certificats est la suivante :
1 - Tu télécharges l'applet (qui installe la 1er fois un package crypto sur le disque local ; c'est super laid comme mécanisme et ça fout la merde sous Linux et les Windows bien configuré mais passons)
2 - Tu remplis les réponses aux questions (nom, n° fiscal...)
3 - Tu génères une clé privée en local (je n'ai pas insisté la-dessus parce que ça me semblait évident, mais c'est crucial tu as raison de le rappeler)
4 - tu envoies les réponses et la clé dans une requête (PKCS#10 ou équivalent)
5 - Si tout va bien, tu reçois un certificat (valable 3 ans) à ton nom et signé par le Minfi
6 - Le PKCS#12 contenant ton certificat, ta clé et les certificats des autorités du Minéfi, est sauvegardé sur ton disque dur
Hurd will be out in a year (or two, or next month, who knows)
-- Linus Benedict Torvalds, 1991
[^]Re: support amélioré ???
> SSL assure l'intégrité du transport mais pas de la déclaration. Une
> fois l'échange terminé, rien n'assure que la déclaration ne sera pas
> modifiée sauf une signature.
C'est vrai. Mais notes bien que dans le cas d'une déclaration papier peronne ne me certifie qu'il est impossible de rajouter un nombre dans les cases vides. Ca n'a étrangement jamais posé de problèmes à personne pour les impots.
Dans d'autres formulaires (type constat automobile) on a des systèmes papier pour s'assurer que personne ne rajoute rien (compte des cases cochées par exemple). Pour les impots on a toujours fait confiance à notre administration pour ne rien bidouiller. Je ne comprend pas que d'un coup ça puisse devenir un problème sur l'informatique alors qu'il y a même moins d'intermédiaires que le papier.
De plus même avec la signature, s'il me suffit de trois questions pour avoir le certificat de signature. La signature elle me certifit quoi de plus que la réponse aux trois questions ? n'importe qui qui pourra répondre aux trois questions pourra me regénérer une clé, envoyer une autre fiche d'impot qui passera par dessus l'ancienne. Ca me fait une belle jambe d'avoir une signature complexe du coup
[^]Re: support amélioré ???
ouais
surtout que bien des organismes demandent photocopie de avis d'impositions complets
Mon comité d'entreprise par ex veux une photo des 4 pages de mon avis d'imposition 2003 pour calculer mon quotien familial.
Ils en font quoi de ces copies? quiconque les aura en main peut faire une declaration d'impot a ma place...
[^]Re: support amélioré ???
Heureusement non, l'avis d'imposition ne contient pas le numéro de télédéclarant.
[^]Re: support amélioré ???
> Pour les impots on a toujours fait confiance à notre administration pour ne rien bidouiller. Je ne comprend pas que d'un coup ça puisse devenir un problème sur l'informatique alors qu'il y a même moins d'intermédiaires que le papier.
Avec l'informatique, on peut cocher ou pré-remplir toutes les cases que l'on veut sur toutes les déclarations que l'on veut, avec une requête sur une base de données. On peut aussi envisager d'intercepter ou d'écouter toutes les communications (surtout si on oblige à passer par des intermédiaires donnés). Avec le papier, on peut localement modifier quelques déclarations une par une, ou globalement modifier toutes les déclarations une par une... Et on ne peut pas intercepter globalement tout le courrier.
Un peu comme le fait de recevoir 3 à 4000 pourriels/mois (cf http://oumph.free.fr/textes/pourriel.html(...) ) alors que ma boîte aux lettres papier en reçoit une dizaine environ/semaine.
Idem sur le vote électronique par exemple. Les problèmes de sécurité sont démultipliés par l'informatique.
Bref l'outil informatique offre de nouvelles possibilités (bonnes ou mauvaises), une rapidité incomparable, une capacité de traitement inégalée, etc., etc. Rien de bien nouveau pour les visiteurs de LinuxFr, mais il fallait bien quelqu'un pour le rappeler.
[^]Re: support amélioré ???
Un article qui joue sur le nationalisme et qui engendre des commentaires nationalistes déplorables. Si Sun avait été une multinationale bien de chez nous, l'honneur aux drapeaux aurait-il été sauf ?
[^]Bien de chez nous
Si Sun avait été une multinationale bien de chez nous
L'expression ne manque pas de sel...