source: talk/tags/20090612-fpw2009/epoll.tex @ 239

Last change on this file since 239 was 239, checked in by nanardon, 15 years ago
  • tag fpw 2009
  • Property svn:keywords set to Id
File size: 11.8 KB
Line 
1% $Id$
2\documentclass[notes]{beamer}
3\usepackage[frenchb]{babel}
4\usepackage[T1]{fontenc}
5\usepackage{moreverb}
6\usepackage{graphicx}
7
8\mode<presentation>
9{
10  \definecolor{beamerstructure}{RGB}{143,79,112}
11  \definecolor{sidebackground}{RGB}{230,242,250}
12  \color{beamerstructure}
13  \usetheme[secheader]{Madrid}
14  \usepackage{times}
15  \userightsidebarcolortemplate{\color{sidebackground}}
16  \beamertemplateballitem
17}
18
19\AtBeginSection[]
20{
21\begin{frame}<beamer>
22    \frametitle{Plan}
23    \tableofcontents[currentsection,hideothersubsections]
24\end{frame}
25}
26
27\title{Epoll - Vote en ligne}
28\subtitle{FPW - 2009}
29\author{Olivier Thauvin}
30\date{\today}
31
32\begin{document}
33
34\frame{\titlepage}
35
36\begin{frame}
37\tableofcontents[hideallsubsections]
38\end{frame}
39
40\section{Vote électronique}
41
42\begin{frame}
43\frametitle{Généralités}
44
45\vfill
46\begin{block}{http://fr.wikipedia.org/wiki/Vote\_électronique}
47\textit{Le vote électronique est un système de vote automatisé, notamment des scrutins,
48à l'aide de systèmes informatiques.}
49\end{block}
50\pause
51\vfill
52
53\begin{alertblock}{Est-ce bien ?}
54\begin{itemize}
55\small{
56\item Impossibilité de contrôle par l'électeur (voir la commission électorale)
57\pause
58    \begin{itemize}
59    \item techniquement compliqué
60    \pause
61    \item logiciel souvent opaque
62    \pause
63    \item contrôle visuel impossible
64    \end{itemize}
65}
66\pause
67\item le syndrome "L'ordinateur ne se trompe jamais"
68\end{itemize}
69\end{alertblock}
70\pause
71\vfill
72
73\begin{block}{Références}
74\begin{itemize}
75\item \href{http://www.ordinateurs-de-vote.org/}{http://www.ordinateurs-de-vote.org/}
76\item \href{http://www.cnil.fr/}{http://www.cnil.fr/}
77\end{itemize}
78\end{block}
79\vfill
80\end{frame}
81
82\section{Epoll ?}
83
84\begin{frame}
85\frametitle{Contexte}
86\begin{block}{LATMOS}
87\begin{itemize}
88\item Laboratoire CNRS
89\pause
90\item Laboratoire Atmosphères, Milieux, Observation Spatiales
91\pause
92\item Environ 300 personnes
93\pause
94\item 4 sites (Verrières le Buisson, Vélizy, Paris et St Maur)
95\end{itemize}
96\end{block}
97\vfill
98\pause
99\begin{block}{CL}
100\begin{itemize}
101\item Conseil de laboratoire
102\item 3 membres de droits
103\item 10 membres élus parmis les personnels
104\item des personnels invités
105\end{itemize}
106\end{block}
107\end{frame}
108
109\begin{frame}
110\frametitle{Pourquoi ?}
111\vfill
112\begin{block}{Le LATMOS}
113Demande de vote électronique de la direction
114\end{block}
115\pause
116\vfill
117\begin{block}{Logiciel libre}
118Rien de bien satisfaisant
119\end{block}
120\pause
121\vfill
122\begin{block}{solutions payantes}
123Entre 1500 et 5000 euros
124\end{block}
125\pause
126\vfill
127\begin{block}{Sujet intéressant}
128Surtout quand il me donne des arguments contre
129\end{block}
130\vfill
131\end{frame}
132
133\begin{frame}
134\frametitle{Résumé}
135\vfill
136\begin{block}{Application web}
137\begin{itemize}
138\pause
139\item accessible avec un simple navigateur
140\pause
141\item envoi des identifiants par mail
142\pause
143\item pas d'intervention de l'administrateur
144\end{itemize}
145\end{block}
146\pause
147\vfill
148\begin{block}{Les fondations}
149\begin{itemize}
150\item Perl (\href{http://www.perl.org/}{http://www.perl.org/})
151\item Catalyst (\href{http://www.catalystframework.org/}{http://www.catalystframework.org/})
152\pause
153\end{itemize}
154\begin{itemize}
155\item PostgreSQL (\href{http://www.postgresql.org}{http://www.postgresql.org})
156\end{itemize}
157\end{block}
158\vfill
159\end{frame}
160
161\section{Epoll 1.0 (aujourd'hui)}
162
163\subsection{Utilisation}
164
165\begin{frame}
166\frametitle{Création du vote}
167\begin{block}{La commission électorale}
168\begin{enumerate}
169\item demande de création
170\pause
171\item confirmation de la demande (par mail)
172\pause
173\item configuration du vote (dont date début/fin)
174\pause
175\item inscription des électeurs
176\pause
177\item envois des identifiants au électeurs
178\end{enumerate}
179\end{block}
180\end{frame}
181
182\begin{frame}
183\frametitle{Le vote}
184\begin{block}{Les électeurs}
185\begin{enumerate}
186\item réception du mail avec url, login et mot de passe
187\pause
188\item authentification sur le site
189\pause
190\item choix
191\pause
192\item confirmation des choix
193\pause
194\item affichage du numéro du bulletin
195\pause
196\item réception d'un accusé de réception par mail
197\end{enumerate}
198\end{block}
199\end{frame}
200
201\begin{frame}
202\frametitle{Le dépouillement}
203\vfill
204\begin{block}{La commission électorale}
205\begin{enumerate}
206\item consolidation des choix libres si besoin
207\pause
208\item marquage des bulletins invalides
209\end{enumerate}
210\end{block}
211\pause
212\vfill
213\begin{block}{Dès la fin du vote}
214\begin{itemize}
215\item Les résultats (provisoires) sont disponibles
216\item La liste de bulletins est disponible
217\end{itemize}
218\end{block}
219\vfill
220\end{frame}
221
222\subsection{Respect des règles}
223
224\begin{frame}[fragile]
225\frametitle{Anonymat}
226\vfill
227\begin{block}{stockage}
228Pas de relation entre l'électeur et le bulletin
229\end{block}
230\pause
231\vfill
232
233\begin{exampleblock}{Émargement}
234\begin{tabular}{|c|c|c|}
235\hline
236Mail&IP&heure de vote\\
237\hline
238\hline
239thauvin@latmos.ipsl.fr&134.157.16.151&\verb+2009-03-19 15:31:56+\\
240\hline
241\end{tabular}
242\end{exampleblock}
243\pause
244\vfill
245
246\begin{exampleblock}{Le bulletin}
247\begin{tabular}{|c|c|}
248\hline
249Id&Contenu\\
250\hline
251\hline
252f4f667c78a2178095c3bae4d&oui\\
253\hline
254\end{tabular}
255\end{exampleblock}
256\vfill
257\end{frame}
258
259\begin{frame}[fragile]
260\frametitle{Les mots de passe}
261\vfill
262\begin{block}{Méthode utilisée}
263\begin{itemize}
264\only<1->{\item chiffré de manière irréversible}
265\only<2-5>{\item \textit{crypt} UNIX MD5}
266\only<3-5>{\item mot de passe aléatoire (électeurs)}
267\only<4-5>{\item \textit{salt} aléatoire}
268\only<6->{\item ne peut être retrouvé}
269\only<7->{\item méthode fiable}
270
271\end{itemize}
272\end{block}
273\vfill
274\onslide<5->
275\begin{exampleblock}{Stockage des mots de passe}
276En clair:
277
278\verb+password+
279
280Version chiffrée:
281
282\verb+$1$aqsedfrt$sxdgVrlCwHx6VdBpRAx6m1+
283\end{exampleblock}
284\end{frame}
285
286\begin{frame}
287\frametitle{Éviter les tricheries}
288\vfill
289\begin{block}{Côté base de données}
290\begin{itemize}
291\pause
292\item le vote est transactionnel (tout ou rien)
293\pause
294\item contraintes référentielles
295\end{itemize}
296\end{block}
297\pause
298\vfill
299\begin{block}{Contrôle par l'utilisateur}
300\begin{itemize}
301\item nombre de votants et nombre de bulletins disponibles
302\pause
303\item liste d'émargement disponible
304\pause
305\item liste des bulletins disponible dès la fin du vote
306\end{itemize}
307\end{block}
308\vfill
309\end{frame}
310
311\begin{frame}
312\frametitle{Les problèmes}
313\vfill
314\pause
315\begin{alertblock}{Le Mail}
316\begin{itemize}
317\item n'est pas chiffré
318\pause
319\item est interceptable
320\end{itemize}
321\end{alertblock}
322\pause
323\vfill
324\begin{alertblock}{La base de données}
325\begin{itemize}
326\pause
327\item lecture: accès aux résultats avant la fin du vote
328\pause
329\item écriture: modification des résultats (mais cela devrait se voir)
330\end{itemize}
331\end{alertblock}
332\vfill
333\pause
334\begin{alertblock}{L'application elle même}
335S'assurer de l'intégrité du code
336\end{alertblock}
337\vfill
338\end{frame}
339
340\begin{frame}
341\frametitle{Bilan}
342\vfill
343\begin{block}{Est-ce parfait ?}
344\only<2-4>{Bien sûr}
345\onslide<5->{
346Plein de choses sont à revoir:
347\begin{itemize}
348\onslide<5->{\item la partie validation du vote}
349\onslide<6->{\item certaines parties du code devraient être plus robustes}
350\onslide<7->{\item des validations des données à ajouter}
351\onslide<7->{\item \ldots}
352\end{itemize}
353}
354\end{block}
355\vfill
356\onslide<3->{
357\begin{block}{des bogues ?}
358\only<4>{Aucun !}
359\onslide<8->{
360Pas de connu à ce jour pour cette version.
361}
362\end{block}
363}
364\vfill
365\onslide<9->{
366\begin{block}{Promesse:}
367Avoir quelque chose à proposer pour le vote du CL (en 15 jours)
368\end{block}
369}
370\vfill
371\end{frame}
372
373\section{L'avenir:~Epoll 2}
374
375\subsection{Recommandation de la CNIL}
376
377\begin{frame}
378\frametitle{Référence: la CNIL}
379\begin{alertblock}{Essayer d'appliquer:}
380\textit{Délibération n. 03-036 du 1er juillet 2003 portant
381adoption d'une recommandation relative à la sécurité des systèmes de
382vote électronique}.
383\end{alertblock}
384\end{frame}
385
386\begin{frame}
387\frametitle{CNIL: Verrouillage de l'urne}
388\begin{block}{L'ouverture devrait necessiter plusieurs personnes}
389\begin{itemize}
390\item l'application peut demander plusieurs mot de passe
391\item pas de solution fiable au niveau des données
392\end{itemize}
393\end{block}
394\end{frame}
395
396\begin{frame}
397\frametitle{CNIL: Chiffrement}
398\begin{alertblock}{Données en clair dans la base}
399\begin{itemize}
400\item Le gestionnaire SQL y a accès
401\item Elles sont des les backup
402\end{itemize}
403\end{alertblock}
404\vfill
405\pause
406\begin{block}{Chiffrer les bulletins}
407\begin{itemize}
408\item{chiffrer\ldots}
409
410Opérationnel pour la prochaine version
411    \begin{itemize}
412    \item Clef asymétrique pour le vote
413    \item Bulletins chiffré avec clef symétrique aléatoire
414    \item Clef des bulletins chiffré avec clef du vote
415    \end{itemize}
416\pause
417\item{{\ldots}sur le poste du votant}
418
419Pb: comment supporter les différents OS ?
420    \begin{itemize}
421    \item javascript ? applet java ?
422    \item application sur le poste + XML/RPC  ?
423    \end{itemize}
424\end{itemize}
425\end{block}
426\end{frame}
427
428\begin{frame}[fragile]
429\frametitle{Somme de contrôle de l'application}
430\begin{block}{La CNIL dit:}
431"L'application doit effectuer une somme de contrôle de son code"
432\end{block}
433\vfill
434\pause
435\begin{block}{Ma réponse:}
436\begin{itemize}
437\item l'appli se contrôle elle même~?!
438\pause
439\begin{verbatim}
440sub check { print "Cheksum OK: " .
441    "17ca809b185d59563d8776bac260c4b6\n" }
442\end{verbatim}
443\pause
444\item les gestionnaires de paquets le font (\verb+rpm+, \verb+dpkg+, \ldots)
445\pause
446\item il faudrait aussi controler:
447    \begin{itemize}
448    \item \verb+perl+ + les modules utilisés
449    \item le SGDB
450    \item le système (kernel, programmes, \dots)
451    \end{itemize}
452\end{itemize}
453\end{block}
454\end{frame}
455
456\subsection{Autres idées}
457
458\begin{frame}[fragile]
459\frametitle{Idées}
460\vfill
461\begin{block}{}
462\begin{itemize}
463\pause
464\item pouvoir changer son vote
465\begin{itemize}
466\item est-ce raisonnable ?
467\item il faut retrouver l'ancien bulletin
468\end{itemize}
469\pause
470\item support de plusieurs langues (i18n)
471\pause
472\item rendre un vote privé
473\pause
474\item votes non anonymes
475\pause
476\item pouvoir redemander un mot de passe (électeurs)
477\pause
478\item sortie imprimable des résultats
479
480Fait: sortie en \verb+pdf+ avec \LaTeX.
481\pause
482\item redondance des données (CNIL)
483\pause
484\item \ldots
485\end{itemize}
486\end{block}
487\end{frame}
488
489\section{Le résultat}
490
491\subsection{URL de la démo}
492
493\begin{frame}
494\frametitle{Tester en live:}
495\begin{block}{La démo}
496\href{http://forge.ipsl.jussieu.fr/epoll/demo}{http://forge.ipsl.jussieu.fr/epoll/demo}
497\end{block}
498\end{frame}
499
500\subsection{Capture d'écran}
501
502% padding pour les bordures
503\setlength\fboxsep{0pt}
504
505\begin{frame}
506\frametitle{Page principale}
507\center{
508\fbox{\includegraphics[height=0.8\textheight]{welcome}}
509}
510\vfill
511\end{frame}
512
513\begin{frame}
514\frametitle{Le vote}
515\center{
516\fbox{\includegraphics[height=0.8\textheight]{vote}}
517}
518\vfill
519\end{frame}
520
521\begin{frame}
522\frametitle{Présentation des résultats}
523\center{
524\fbox{\includegraphics[height=0.8\textheight]{results}}
525}
526\vfill
527\end{frame}
528
529\begin{frame}
530\frametitle{Lites des bulletins}
531\center{
532\fbox{\includegraphics[height=0.8\textheight]{ballots}}
533}
534\vfill
535\end{frame}
536
537\section{Fin}
538
539\begin{frame}[fragile]
540\frametitle{Les modules PERL utilisés}
541\vfill
542\begin{block}{Base de données}
543\begin{itemize}
544\item \verb+DBI+
545\item \verb+DBD::Pg+
546\end{itemize}
547\end{block}
548\pause
549\vfill
550\begin{block}{Cryptographie}
551\begin{itemize}
552\item \verb+Crypt::RSA+
553\item \verb+Crypt::DES+
554\item \verb+XML::Simple+ (format d'archivage)
555\end{itemize}
556\end{block}
557\pause
558\vfill
559\begin{block}{WEB / Mail}
560\begin{itemize}
561\item \verb+Catalyst+ (\verb+Template Toolkit+, \verb+C::P::Session+)
562\item \verb+LaTeX::Driver+
563\item \verb+Mail::Mailer+
564\end{itemize}
565\end{block}
566\pause
567\vfill
568\end{frame}
569
570\begin{frame}
571\frametitle{Questions et remarques}
572\vfill
573\begin{block}{Le projet}
574\href{http://forge.ipsl.jussieu.fr/epoll}{http://forge.ipsl.jussieu.fr/epoll:}
575\begin{itemize}
576\item le code
577\item la documentation
578\item lien vers la liste de diffusion
579\item le lien vers la démo
580\end{itemize}
581\end{block}
582\vfill
583\pause
584\begin{block}{Avez-vous:}
585\begin{itemize}
586\item des questions~?
587\item des remarques~?
588\item des critiques~?
589\end{itemize}
590\end{block}
591\vfill
592\end{frame}
593
594\end{document}
Note: See TracBrowser for help on using the repository browser.