Download - E-electioon
-
7/24/2019 E-electioon
1/79
i
Ddicace
Je ddie ce modeste travail en signe de respect de reconnaissance de remerciement et de
gratitude infinie,
A mon cher pre qui na jamais hsit sacrifier afin de subvenir tous mes besoins,
A ma chre mre qui ma toujours soutenu par tant damour, tant daffection et surtout par
ses conseils prcieux,
A mon frre, mes surs leurs poux et leurs filles, avec tous mes vux de les voir russir
dans leur vie,
A tous mes amis, qui je souhaite tout le succs,
A mes professeurs,
A tous ceux qui me sont chers.
-
7/24/2019 E-electioon
2/79
ii
Remerciement
Je tiens assurer ma profonde gratitude Mr bid Mohamed
et MrBen Mahmoud Chaker
mes encadrants lENIG pour toute la confiance et le soutien quils mont attribu et pour
ses prcieux conseils et ses remarques judicieux.
Je tiens galement adresser mes sincres remerciements tous les enseignants qui ont donn
de leurs temps et leurs attentions pour assurer notre formation et enrichir nos connaissances.
Merci pour ceux qui nont pargn aucun effort, de prs ou de loin, pour laccomplissement
de ce travail.
Mes remerciements vont galement aux membres du jury pour avoir accept de me prter leur
attention et valuer mon travail.
-
7/24/2019 E-electioon
3/79
iii
Table des matiresTable des figures ........................................................................................................................ v
Glossaire ................................................................................................................................... vii
Introduction gnrale .................................................................................................................. 1
Chapitre 1 Etat de lart............................................................................................................... 3
I. Introduction .................................................................................................................... 3
II. Vote traditionnel ............................................................................................................. 3
III. Vote lectronique............................................................................................................ 4
III.1. Machine voter .................................................................................................... 4
III.2. Vote en ligne ........................................................................................................ 5
IV. Cryptographie et scurit rseau .................................................................................... 9
IV.1. Cryptographie ....................................................................................................... 9
IV.2. SSL/TLS ............................................................................................................. 13
V.
Conclusion .................................................................................................................... 13
Chapitre 2 : Spcification des besoins et conception ............................................................... 14
I. Introduction .................................................................................................................. 14
II. Architecture gnrale du systme ................................................................................. 14
III. Spcification des besoins .............................................................................................. 17
IV.1. Besoins fonctionnels .......................................................................................... 17
IV.2. Besoins non fonctionnels ................................................................................... 18
IV. Architecture MVC ........................................................................................................ 19
V. Conception .................................................................................................................... 20
V.1. Diagramme de cas dutilisation .......................................................................... 20
V.2.
Diagramme de collaboration .............................................................................. 23
V.3. Diagramme de squence ..................................................................................... 24
V.4. Diagramme dactivit ......................................................................................... 30
V.5.
Diagramme de classe .......................................................................................... 30
VI. Conclusion .................................................................................................................... 31
Chapitre 3 Ralisation ............................................................................................................. 32
I. Introduction .................................................................................................................. 32
II. Environnement de dveloppement ............................................................................... 32
II.1. Environnement matriel ..................................................................................... 32
II.2.
Environnement logiciel ...................................................................................... 32
-
7/24/2019 E-electioon
4/79
iv
III. Installation et mise en uvre ........................................................................................ 35
III.1. Cration des certificats ....................................................................................... 35
III.2.
Configuration et organisation de projet J2EE .................................................... 41
III.3. Prsentation de droulement de vote .................................................................. 42
III.4. Prsentation de la partie administrative ............................................................. 47
IV. Conclusion .................................................................................................................... 49
Conclusion gnrale et perspective de travail .......................................................................... 50
Rfrences ................................................................................................................................ 51
Annexe 1 : les principales tapes du scrutin pour l'lection en Tunisie ................................... 52
Annexe 2 : Description textuels de cas dutilisation................................................................ 54
Annexe 3 installation dEJBCA............................................................................................... 56
Annexe 4 : le contenu des certificats ........................................................................................ 62
-
7/24/2019 E-electioon
5/79
v
Table des figures
Figure 1. 1 : Machine voter [4] ................................................................................................ 4Figure 1. 2 : Vue globale du systme de vote [5] ....................................................................... 8Figure 2. 1 : Architecture du systme de vote .......................................................................... 15Figure 2. 2 : Diagramme du cas dutilisation global ................................................................ 21Figure 2. 3 : Diagramme du cas dutilisation relatif au votant................................................. 22Figure 2. 4 : Diagramme du cas dutilisation relatif lautorit de vote................................. 23Figure 2. 5 : Diagramme de collaboration pour lauthentification du votant........................... 23Figure 2. 6 : Diagramme de collaboration pour lopration vote prsidentiel..................... 24
Figure 2. 7 : Diagramme de squence pour le scnario Sauthentifier............................... 25Figure 2. 8 : Diagramme de squence pour le scnario GrerAgent .................................... 26
Figure 2. 9 : Diagramme de squence relatif au vote prsidentiel ........................................... 27Figure 2. 10 : Diagramme de squence relatif au vote lgislatif .............................................. 28Figure 2. 11 : Diagramme de squence relatif au sondage ....................................................... 29Figure 2. 12 : Diagramme dactivit........................................................................................ 30Figure 2. 13 : diagramme de classe global ............................................................................... 31Figure 3. 1 : Architecture logique de PKI ................................................................................ 36Figure 3. 2 : Ajout de profil de certificats ................................................................................ 37Figure 3. 3 : Les autorits de certification cres ...................................................................... 37Figure 3. 4 : Profils des entits finales ..................................................................................... 38Figure 3. 5 : Ajout dun votant ................................................................................................. 39Figure 3. 6: Demande de certificat ........................................................................................... 40Figure 3. 7 : Installation du fichier P12 .................................................................................... 40Figure 3. 8 : Authentification par SSL/TLS ............................................................................. 42Figure 3. 9 : Authentification mutuelle .................................................................................... 43Figure 3. 10 : Description de la page daccueil........................................................................ 43Figure 3. 11 : Interface dauthentification par identifiant et mot de passe............................... 44Figure 3. 12 : Interface du profil vote prsidentiel ................................................................... 45
Figure 3. 13 : Interface validation de choix envoyer au valideur .......................................... 46
Figure 3. 14 : Interface de russite de vote............................................................................... 46Figure 3. 15 : Interface chec de vote ...................................................................................... 47Figure 3. 16 : Interface dauthentification de ladministrateur................................................ 48Figure 3. 17 : Interface de gestion des votants ......................................................................... 48Figure 3. 18 : interface dajout dun votant.............................................................................. 49Figure 3. 19 : Rsultat dun vote prsidentiel.......................................................................... 49
-
7/24/2019 E-electioon
6/79
vi
Liste des tableaux
Tableau A2. 1 : description de cas dutilisation Sauthentifier .......................................... 54Tableau A2. 2 : Description de cas dutilisationrelatif au votant ............................................ 54
Tableau A2. 3 : Description de cas dutilisationrelatif au valideur ......................................... 55Tableau A2. 4 : Description de cas dutilisationrelatif au commissaire .................................. 55Tableau A3. 1 : Composants tlcharger ............................................................................... 56
-
7/24/2019 E-electioon
7/79
vii
Glossaire
AC : Autorit de Certification.
AE : Autorit dEnregistrement.
AES : Advanced Encryption Standard.
ANCE : Agence Nationale de Certification Electronique.
CRL: Certificate Revocation List.
DES : Data Encryption Standard.
EPFL : cole Polytechnique Fdrale Lausanne.
HTML : HyperText Mark-Up Language.
ISIE : Instance suprieure indpendante pour les lections.
J2EE : Java 2 Entreprise Edition.
JKS :Java KeyStore
JSP : Java Server Pages.
LDAP: Lightweight Directory Access Protocol.
MD : Message Digest.
OCSP : Online Certificate Status Protocol.
PKCS #12 :Public-Key CryptographyStandards.
PKI : Public Key Infrastructure.
RSA:Rivest Shamir Adleman.
SGBD: Systme de Gestion de Base de Donnes.
SHA : Secure Hash Algorithm.
SSL : Secure Sockets Layers.
TLS : Transport Layer Security.
UML : Unified Modeling Language.
.
http://fr.vikidia.org/wiki/Rivest_Shamir_Adlemanhttp://fr.vikidia.org/wiki/Rivest_Shamir_Adlemanhttp://fr.vikidia.org/wiki/Rivest_Shamir_Adlemanhttp://fr.vikidia.org/wiki/Rivest_Shamir_Adleman -
7/24/2019 E-electioon
8/79
Introduction gnrale
1
Introduction gnrale
Le droit de vote est le pivot essentiel et fondamental de la dmocratie. Le combat pour
lacqurir fut long,nanmoins, prs de la moiti de la population mondiale en est prive. Le
moment du vote est aussi un des rares instants o tous les citoyens sont placs sous un point
de vue strictement galitaire et o un citoyen est gale une voix. Chacun peut exprimer
pleinement ses liberts individuelles. Choix des dirigeants, moyen de faire entendre sa voix,
voter reste essentiel et le moyen le plus direct et efficace de participer la vie dmocratique.
Des distances considrables peuvent sparer les lecteurs des bureaux de vote. Les
dplacements peuvent tre difficiles, voire dangereux. Ces contraintes spcifiques
lexpatriation sont autant dobstacles lexercice du droit de vote. Aussi, des solutions
innovantes sont ncessaires pour que ce droit puisse tre exerc, ltranger galement.
En rponse ces limites, le vote par internet est une solution alternative au vote traditionnel.
Mais pour bien drouler une lection lectronique, nous devons faire face aux attaques et
fraudes qui empchent le droulement des lections en toute scurit. Ceci dit, la scurit
reste un dfi majeur que nous devons assurer.
De plus, les services distance et lectronique sont aujourdhui un domaine en pleine
effervescence. Les dmarches administratives sur Internet se font en toute confiance, nous
parlons alors de le-Gouvernement. Nous pouvons faire nos achats en ligne en toute scurit,
il sagit de le-Commerce. Les services bancaires dmatrialiss et scuriss, cest l'e-
Banking.
En bref, cest le temps de migrer vers le-dmocratie.
Pour rpondre cette problmatique, nous avons ralis notreprojet de fin dtudedans le but
dobtenir le diplme dingnieuren Gnie de Communications et Rseaux (GCR) dlivr par
lEcole Nationale dIngnieurs de Gabs(ENIG). Il a t effectu au sein de l'Unit de
Recherche Hatem Bettaher d'Informatique, Rseau, Tlcommunication et Mathmatique
(IResCoMath- UR13ES79). Ce projet est consacr la mise en place dune application de
vote en ligne scurise en utilisant les outils cryptographiques (surtout les certificats
-
7/24/2019 E-electioon
9/79
Introduction gnrale
2
numriques) pour assurer un trs haut niveau de scurit et faciliter aux gens dexprimer leurs
choix de faon anonyme dans un environnement informatique.
Cette mmoire est compose de trois chapitres. Le premier chapitre est consacr ltat de
lart dans lequel nous effectuons une tude concernant le vote traditionnel et lectronique.Nous prsentons, par la suite, les diffrents scnarios et les proprits de vote en ligne. Nous
prsentons aussi une solution de vote lectronique propose par de chercheurs du laboratoire
de scurit et cryptographie lEPFL [1] (cole Polytechnique Fdrale Lausanne). Nous
nous sommes bass sur cette solution pour concevoir notre nouvelle solution.
Le deuxime chapitre consiste effectuer une spcification des besoins fonctionnels et non
fonctionnels suivit dune conception UML(Unified Modeling Language) du systme de vote
propos.
Le troisime chapitre est le chapitre de ralisation o nous prsentons les diffrents outils
utiliss. Ensuite, nous prsentons un dmonstrateur pour russir le vote en utilisant notre
systme.
Dans la dernire partie de ce rapport, nous concluons le travail ralis et nous donnons
quelques perspectives de travail.
-
7/24/2019 E-electioon
10/79
Chapitre 1 Etat de lart
3
Chapitre 1 Etat de lart
I. IntroductionLobjectif de ce chapitre est de raliser, dans la premire partie, une tude de lexistant dans
laquelle nous dtaillons le systme de vote traditionnel et nous mettons en relief ses limites.
La deuxime partie est consacre au systme de vote lectronique; nous expliquons la
numrisation du vote et nous prsentons quelques solutions dj dployes au niveau
mondial.
Dans la dernire partie, nous critiquons lexistant et nous prsentons les lmentscryptographiques qui nous voulons utiliser dans notre solution propose.
II. Vote traditionnel
Le vote traditionnel est la mthode la plus ancienne servant une lection prsidentielle,
lgislative ou sondage. Il est simple et connu de tous.
En Tunisie, la premire lection dmocratique t ralise aprs lindpendance en
Novembre 1981. La dernire en date est celle du 23 Octobre 2011 aprs la rvolutiontunisienne. Cette lection a t prpare et dirige par lISIE (l'Instance suprieure
indpendante pour les lections). Elle utilise des bulletins en papier et n'utilise aucun
dispositif informatique.
Selon le guide des procdures du scrutin et du dpouillement dit par lISIE,les principales
tapes [2] du scrutin pour l'lection se droulent comme dcrit dans lAnnexe 1.
Ce systme a permis au vote davoir un support matriel qui le rendtangible et manipulable.
Mais la matrialit du vote ne garantit nullement son intgrit puisque les bulletins du vote
peuvent tre perdus, dtruits ou modifies.
Parmi les problmes lis cette technologie, nous citons :
Limprcision du marquage du choix de llecteur sur le bulletin de vote. Ce
marquage peut parfois tre sujet diverses interprtations.
Des problmes sont lis au dcomptage des votes.
Des difficults temporelles concernant le temps pour effectuer cette opration.
-
7/24/2019 E-electioon
11/79
Chapitre 1 Etat de lart
4
Des problmes de localisation si le vote sadresse un grand nombre de citoyens
disperss sur un grand territoire. Ceci a de nombreux impacts sur le transport et la
conservation des bulletins de votes. Lintgrit de ceux-ci peut-tre mis en pril.
La solution alternative pour rpondre aux problmes identifis prcdemment est le votelectroniquequi est dtaill dans le paragraphe suivant.
III. Vote lectronique
Ce systme permet de se prmunir de limprcision du marquage. Il permet de faire
rapidement le dcompte des votes avec prcision. Il permet galement de rduire les impacts
de la dispersion gographique des points de vote.
Le vote lectronique est divis en deux mthodes: les machines voter qui, installes dans les
bureaux de vote, remplacent les systmes de bulletins et durnes et le vote parInternet o
llecteur peut participer un scrutin distance en utilisant son ordinateur.
III.1. Machine voter
Une machine voter [3] est place dans chaque bureau de vote sous la responsabilit du
prsident du bureau, et actionne par lui seul (ou son vice-prsident) au moyen d'un botier.
La machine est une simple calculatrice qui enregistre les votes sans identification del'lecteur. Ce dernier ne peut voter qu'une seule fois. Cette machine est entirement autonome,
sans systme d'exploitation ni connexion un rseau informatique
En cas de panne, une batterie prend le relais, sans perdre les donnes dj collectes. Quand le
scrutin est termin, les rsultats sont imprims en quelques secondes: il ny a plus de
dpouillement, ni de risque derreur dans le comptage.
Exemple de pays utilisant la machine voter : USA, France, etc.
La figure 1.1 reprsente un exemple de machine voter:
Figure 1. 1 : Machine voter [4]
-
7/24/2019 E-electioon
12/79
Chapitre 1 Etat de lart
5
Le problme majeur des machines voter lectroniques [5] rside dans le fait quelles nont
pas encore fait la preuve de leur fiabilit. De nombreuses tudes internationales pointent
toujours du doigt sur les risques de manipulation et de fraudes.
III.2. Vote en ligne
Il permet un lecteur de voter en utilisant tout poste informatique connect Internet. Une
lection en ligne apporte de nombreuses amliorations, elle simplifie la procdure de vote,
rend impossible le dpt de votes non valides et permet aux groupes cibles prsentant des
besoins particuliers comme les lecteurs handicaps ou les citoyens rsidant ltranger
dexercer plus facilement leurs droits politiques.
Exemple : Estonie.
III.2.1. Proprits du vote
Pour garantir le bon fonctionnement dune application excutable sur le rseau, nous devons
sassurerque les proprits suivantes sont bien respectes.
a. Prcision
Elle est dfinit par les trois conditions suivantes :
Il est impossible de modifier un vote.
Il est impossible dliminer un vote valide.
Il est impossible quun vote invalide soit compt.
b. Dmocratie
Seules les personnes autorises peuvent participer lopration de vote en prenant en compte
lge, la nationalit, etc.
c. Non rpudiation
Une personne ayant le droit de vote ne peut voter quune seule fois.
d. Confidentialit
Elle est dfinit par ces deux conditions :
Il nexiste aucune possibilit deffectuer une liaison entre le votant et son vote, de
cette manire on a bien maintenu lanonymat de vote.
-
7/24/2019 E-electioon
13/79
Chapitre 1 Etat de lart
6
Il est impossible pour un votant de prouver quil a vot pour un candidat particulier.
e. Vrifiabilit
Les conditions pour la vrifiabilit sont :
Chaque lecteur est capable de vrifier que son propre vote a bien t pris en compte.
Il est capable aussi de vrifier dune manire indpendante si tous les votes ont t
compts correctement.
f. Disponibilit
Elle est dfinit comme suit :
Le systme doit fonctionner correctement pendant toute la priode de vote
Chaque votant possde le droit daccder au systme durant toute la priode de vote.
III.2.2. Scnario de vote
Le scnario du vote est compos de trois phases.
a. Phase de pr vote
Il est important dtendre la priode denregistrement sur plusieurs semaines. Cette priode
sert rduire fortement, mme viter compltement, les problmes dusurpation didentitet
la non disponibilit.
Pour senregistrer et acqurir le droit de participation au vote, chaque personne doit
senregistrer auprs dune autorit de vote valide afin de lui fournir un bulletin de vote
contenant les paramtres ncessaires pour accder lapplication.
b. Phase de vote
Durant cette phase, le votant est invit tablir toute les tapes du vote entre autre la slection
et la validation de son choix.
c. Phase de dcompte
Si la phase de vote est termine avec succs, il est possible de ramener tous les rsultats
enregistrs dans chaque dcompteur et de publier le rsultat final en le mettant la disposition
des votants afin de vrifier que leurs votes ont t pris en considration ou ignors.
Nous avons trouv dans la littrature une solution de vote lectronique qui est dcrite par la
suite.
-
7/24/2019 E-electioon
14/79
Chapitre 1 Etat de lart
7
III.2.3. Solution de Nicolas Bonvin
Cette solution prsente quatre entits diffrentes : un administrateur, un commissaire, un
anonymiseur et un dcompteur.
Dans la phase denregistrement, chaque votant reoit son bulletin de vote, contenant ses
propres paramtres de scurit (SecT1, SecT2 et SecT3), par une lettre recommande avec
accus de rception ou dans sa boite e-mail.
La figure 1.2 montre les interactions entre les diffrentes entits:
1. Le votant envoie un message contenant le choix pour lequel il sest engag. Ce message
prend la forme dun hash masqu, accompagn par le SecT1du votant.
2. Ladministrateur envoie le SecT1reu au commissaire pour la vrification.
3. Le commissaire renvoie le SecT2dans le cas ou le SecT1tait correct.
Dans le cas contraire, il renvoie un message derreur.
4. Ladministrateur renvoie au votant le hash masqu aprs lavoir sign, accompagn du
SecT2, sil na reu aucun message derreur de la part du commissaire. Si tel est le cas, alors
ladministrateur renvoie uniquement le message derreur au votant.
Aprs avoir vrifi que le SecT2corresponde avec celui prsent sur le bulletin en papier, le
votant dmasque la signature, la vrifie et envoie lanonymiseur son choix en texte clair, la
signature du commissaire, les cls quil a utilis lors de son engagement, ainsi que son SecT3.
Ceci est chiffr avec la cl publique du dcompteur. Lanonymiseur ne peut donc pas en
prendre connaissance. Lelecteur envoie galement leSecT1, chiffr pour lanonymiseur.
Lanonymiseur envoie le SecT1 au commissaire pour le vrifier.
7. Le commissaire renvoie le SecT2si le SecT1est valable et na pas encore t utilis. Dans
le cas contraire, il renvoie un message derreur.
8. Si lanonymiseur na pas reu de message derreur, il enregistre le vote et envoie au votant
une confirmation du bon droulement de lopration, ou un message derreur, accompagn du
SecT2.
-
7/24/2019 E-electioon
15/79
Chapitre 1 Etat de lart
8
9. Lanonymiseur envoie la fin de la session de votelensemble des votes au dcompteur,
afin que ce dernier puisse procder au dpouillement et compter les voix.
Figure 1. 2 : Vue globale du systme de vote [5]
Bien quil sagisse dune solution efficace, elle est vulnrable et susceptible aux attaques et
fraudes. En effet lattaque dune tierce personne (ou Man-in -the-middle attack) intervient
dans une transaction entre deux personnes (groupes, entits, etc.). Une troisime personne
peut s'interposer de manire transparente entre le votant et le valideur et termine la transaction
normalement en captant les messages et en transmettant d'autres messages sans que les deuxentits s'en aperoivent.
En plus, le problme majeur qui peut se poser est celui de l'authentification de l'utilisateur sur
le serveur, si un identifiant et un mot de passe sont utiliss, le systme reste non fiable car ils
passent en clair sur la ligne de connexion.
Dans ce systme de vote, la scurit est un aspect ne pas ngliger, elle constitue l'pine
dorsale du succs et de la fiabilit du vote.
-
7/24/2019 E-electioon
16/79
Chapitre 1 Etat de lart
9
Alors lapplication propose de vote en ligne demande un niveau de scurit plus lev que
celui fournit par lauthentification base de formulaire. Elle a aussi besoin de garantir la
confidentialit et lintgrit de vote. Pour ces raisons, seule une solution base sur les
certificats numriquesest envisageable pour un vote correctement scuris et fiable.
Dans ce qui suit, nous dtaillons les lments cryptographiques et le protocole SSL (Secure
Sockets Layers) et TLS (Transport Layer Security).
IV. Cryptographie et scurit rseau
Plusieurs mthodes cryptographiques sont requises afin de rpondre aux diverses proprits
souhaites par le systme de vote.
IV.1. Cryptographie
La cryptologie est une science mathmatique comportant deux branches: la cryptographie et
la cryptanalyse.
La cryptographie [6] est lart et la science de garder un secret. Elle offre des mthodes
donnant la possibilit denvoyer des donnes de manire confidentielle sur un support donn.
La cryptanalyse: est oppose la cryptographie, elle a pour but de retrouver le texte clair
partir de textes chiffrs en dterminant les failles des algorithmes utiliss.
IV.1.1. Services de scurit
La scurit numrique vise assurer plusieurs services :
La confidentialit:Seul le destinataire peut connatre le contenu des messages qui lui
sont transmis.
Lauthentification: le destinataire dun message doit pouvoir sassurer de son
origine. Un intrus ne doit pas se faire passer pour quelquun dautre.
Lintgrit des donnes:le destinataire doit pouvoir sassurer que le message na pas
t modifi en chemin.
Le non rpudiation :Un expditeur ne doit pas nier quil a envoy un message et le
destinataire ne doit pas nier quil la reu.
Contrle daccs: cest la facult de limiter et de contrler laccs des systmes et
des applications via des maillons de communication.
-
7/24/2019 E-electioon
17/79
Chapitre 1 Etat de lart
10
Disponibilit [7]: de nombreuses attaques peuvent rsulter en une perte ou une
rduction de la disponibilit. Certaines de ces attaques sont susceptibles dtre lobjet
de contre-mesures automatiques, telles que lauthentification et le chiffrement, alors
que dautres exigent une action humaine pour prvenir ou se rtablir de la perte de ladisponibilit des lments dun systmedonn.
IV.1.2. Chiffrement
Le chiffrement consiste transformer une donne afin de la rendre incomprhensible par une
personne autre que celui qui a cr le message et celui qui en est le destinataire.
Il existe deux grands principes de chiffrement possible : le chiffrement symtrique et
asymtrique.
a. Chiffrement symtrique
Dans la cryptographie symtrique deux partenaires souhaitant changer des informations
confidentiellement se mettent d'accord sur une cl secrte commune, appele cl de session,
qui leur servira chiffrer leurs messages.
Les algorithmes symtriques les plus rpandus sont : DES, 3DES, AES.
Ces algorithmes sont rapides mais ils posent le problme de l'change de la cl de session. Sicette cl est rcupre par un attaquant il peut dchiffrer toutes les conversations.
b. Chiffrement asymtrique
Lide de base des cryptosystmes cls publiques a t propose dans un article fondamental
de Diffie et Hellman en 1976 [8].
Dans la cryptographie asymtrique chaque entit dispose d'une cl publique et d'une cl
prive. La cl publique est diffuse l'ensemble des autres entits souhaitant communiquer
avec la premire. Elle sert chiffrer les communications. Alors que la cl prive reste secrte
et l'entit s'en sert pour dchiffrer les communications. La cryptographie cl publique est
galement utilise pour l'authentification et pour les signatures numriques.
Les algorithmes asymtriques les plus connus sont DiffieHellman, RSA (Rivest Shamir
Adleman) [9], la cryptographie base sur les courbes elliptiques etElGamal.
http://en.wikipedia.org/wiki/ElGamal_encryptionhttp://en.wikipedia.org/wiki/ElGamal_encryption -
7/24/2019 E-electioon
18/79
Chapitre 1 Etat de lart
11
IV.1.3. Fonction de hachage
La fonction de hachage est une fonction permettant dobtenir un condens dun message en
transformant une donne de taille quelconque en une empreinte de taille fixe. Cette fonction
est parfaitement dterministe, elle ne ncessite lemploi daucune cl.
Cependant, certaines proprits de scurit doivent tre vrifies :
Rsistance forte de collision : il doit tre pratiquement difficile de trouver deux
messages diffrents conduisant une mme valeur de hach.
Rsistance faible de collision : tant donn un message, il doit tre difficile de
trouver un message diffrent detel que = ().
Fonction sens unique: tant donn une valeur dans l'espace des hachs, il doittre difficile de trouver tel que = .
Pour garantir la scurit du vote en ligne, il est ncessaire de faire appel des fonctions de
hachage qui sont sre contre les attaques, mme thorique. En particulier, le standard MD5
(Message-Digest) est considr comme cass, et ne doit plus tre employ.
IV.1.4. Signature numrique
La signature numrique est un procd permettant de garantir l'authenticit de l'expditeur etde vrifier l'intgrit du message reu.
Elle assure galement une fonction de non-rpudiation, c'est--dire qu'elle permet d'assurer
que l'expditeur a bien envoy le message.
Le systme propos utilise le crypto systme RSA, qui fonctionne de la manire suivante:
Nous supposons quAlice et Bob sont respectivement lexpditeur et le destinataire.
Alice possde une cl publique , une cl prive , et un modulo (n produit des deux
nombres premiers trs grands). Elle calcule la signature S dun objet en le chiffrant laide
de sa cl prive:
=
Et puisquelle est la seule personne connaitre sa cl prive, elle est aussi la seule pouvoir
gnrer la signature pour lobjet.
-
7/24/2019 E-electioon
19/79
Chapitre 1 Etat de lart
12
Chacun, possdant la cl publique dAlice, peut ds lors vrifier que S correspond exactement
la signature de lobjet M en effectuant lopration de chiffrement suivante:
= = () =
IV.1.5. Certificat numrique
a. Dfinition
Le certificat numrique est l'quivalent lectronique dune carte d'identit. Il permet
d'authentifier les entits au sein d'un systme d'information. Il fait une association entre
l'identit d'une personne et sa cl publique et ventuellement dautres informations. Cette
association est garantie par une autorit de confiance.
Plusieurs normes de certificats existent, la plus employe est X509[7]
b. Cycle de vie dun certificat
Pour des raisons de scurit, un certificat est accord pour une dure limite. Il peut tre
galement remis en question dans la priode de validit pour diffrentes raisons:
Volont du dtenteur du certificat.
Changement de situation du dtenteur.
Volont de lautorit de certification.
Scurit.
Le certificat est alors suspendu ou rvoqu, la suspension ou la rvocation tant notifi dans
un annuaire spcifique facilement accessible (en ligne).
IV.1.6. Infrastructure a cl publique(ICP)
Elle est appel aussi infrastructure de gestion de cls (IGC) ou en anglai Public Key
Infrastructure (PKI). Cest lensemble des procdures, des logiciels et des composantsphysiques qui permettent la bonne gestion des cls et des certificats. Cela englobe entre autres
la cration, la distribution et la rvocation des certificats, la configuration des quipements et
les politiques de scurit associes, etc. Lutilisation dalgorithmes cryptographiques permet,
travers la distribution de cls des utilisateurs ou des machines, doffrir plusieurs services
de scurit. Ces cls doivent tre accompagnes de certificats numriques qui les lient
lidentit de leur dtenteur. Il faut prciser que lautorit de certificat racine en Tunisie est
lANCE(Agence Nationale de Certification Electronique).
-
7/24/2019 E-electioon
20/79
Chapitre 1 Etat de lart
13
IV.2. SSL/TLS
La scurit des communications sur l'Internet est assure par le protocole SSL/TLS. Il permet
aux applications client/serveur de communiquer d'une faon conue pour empcherl'espionnage, l'altration ou la falsification du message. Son but principal est de fournir la
confidentialit et l'intgrit de donnes entre deux applications communicantes.
Les objectifs du protocole SSL/TLS sont, dans l'ordre des priorits, les suivants:
Scurit cryptographique: il est utilis pour tablir une connexion sre entre deux
parties.
Interoprabilit: des programmeurs indpendants devraient tre capables de
dvelopper des applications en utilisant SSL/TLS qui russissent pleinement
changer des paramtres cryptographiques sans connaitre leurs codes respectifs.
Extensibilit: SSL/TLS cherche fournir un cadre dans lequel puissent tre
incorpores de nouvelles cls publiques et de nouvelles mthodes de chiffrement sans
modification majeure du protocole.
Efficacit relative: les oprations cryptographiques tendent tre trs
consommatrices de CPU, en particulier les oprations utilisant la cl publique. Pour
cette raison, le protocole SSL/TLS a incorpor un schma facultatif de mise en
mmoire cache de session pour rduire le nombre de connexions qui doivent tre
tablies a partir de rien (c'est--dire utiliser la mme cls dj gnre dans des
sessions futures).
V. Conclusion
Dans ce chapitre, nous avons effectu une tude concernant le systme de vote et nous avons
prsent brivement les lments cryptographiques, tels que la signature numrique, la
fonction de hachage et le certificat numrique, intgrer dans notre systme.
Dans le chapitre suivant, nous dcrivons larchitecture du systme propos, la spcification des
besoins et la conception de lapplication dtaille raliser.
-
7/24/2019 E-electioon
21/79
Chapitre 2 : Spcification des besoins et conception
14
Chapitre 2 : Spcification des besoins et conception
I. Introduction
Dans ce chapitre, nous prsentons la spcification des besoins de notre systme. Nous
commenons tout dabord par la prsentation de larchitecture complte de lapplication. Par
la suite, nous utilisons le langage de modlisation UML afin didentifier les diffrents
diagrammes utiliss pour bien dcrire la conception de ce projet.
II. Architecture gnrale du systme
Dans cette partie, nous dcrivons dune manire prcise larchitecture gnrale de notresolution et les interactions entre les diffrents acteurs.
Afin de garantir une certaine robustesse, le systme de vote propos est form par quatre
entits diffrentes : un valideur, un commissaire, un anonymiseur et un dcompteur. Ce sont
les mmes acteurs que dans la solution dcrite dans la section III.1.3. Les quatre entits sont
des serveurs autonomes et indpendants les uns des autres. Ils sont grs par une autorit de
vote subordonne qui est son tour administre par une autorit de vote racine.
Ces quatre serveurs se communiquent entre eux travers un rseau informatique et peuvent
ne pas se trouver dans le mme endroit physique.
Nous supposons, dans ce qui suit, que la phase denregistrement (la phase pr vote) a t
effectue sans aucun problme, autrement dit, que le votant a dj reu dans son boite mail
les paramtres ncessaires pour accder lapplication (surtout son certificat numrique et sa
cl prive).
Nous reprsentons dans la figure 2.1 les diffrentes entits participantes dans lopration de
vote et les interactions entre elles.
La connexion du votant au systme de vote, les jours des lections, doit tre scurise. En
effet, le votant doit recevoir la garantie que les serveurs sont lgitimes et officieux et que les
informations transmises restent confidentielles.
-
7/24/2019 E-electioon
22/79
Chapitre 2 : Spcification des besoins et conception
15
Pratiquement, toutes les parties intervenantes dans l'application de vote doivent pouvoir tre
authentifies. Dj, elles possdent chacune une paire de cls (cl publique, cl prive).
Figure 2. 1 : Architecture du systme de vote
Les entits doivent se communiquer travers un canal scuris avec des cls de session. Nous
avons besoin de cinq cls comme suit :
Ks1entre le systme de vote et le valideur.
Ks2entre le valideur et le commissaire.
Ks3entre le systme de vote et lanonymiseur.
Ks4entre lanonymiseur et le commissaire.
Ks5entre lanonymiseur et le dcompteur.
Les diffrents messages reprsents dans la figure 2.1 sont dtaills comme suit :
1) Aprs lauthentification, le votant effectue un choix et lorsquil valide son vote, un
message chiffr sera envoy au valideur. Ce message contient : le hash du vote, la
signature du vote chiffr par la cl prive du votant, lidentifiant duvotant et le temps de
vote. Il se traduit par lquation suivante :
-
7/24/2019 E-electioon
23/79
Chapitre 2 : Spcification des besoins et conception
16
message1= 1( + _ () + + ).
2) Aprs le dchiffrement du message reu par la cl ks1, le valideur dchiffre le hash du
vote chiffr par la cl publique de votant tout en le comparant avec le hash du vote reu,
si la signature du votant nest pas valide, il renvoie un message derreur au systme de
vote.
Si elle est valide, le valideur envoie un message contenant son identifiant et celui du
votant au commissaire pour vrifier lunicit de vote. Ce message se traduit par
lquation suivante :
message2=2( + ).
3) Sil sagit du premier passage par un valideur, le commissaire renvoie au valideur unmessage de confirmation, si non il renvoie un message derreur lui affirmant que ce
votant a dj vot et na pas le droit de voter une autre fois. Il sagit de message3.Le
commissaire ajoute sa table les informations pour des vrifications futures.
4) En recevant un message de confirmation depuis le commissaire, le valideur signe le hash
du vote par sa cl prive et lenvoie au votant. ce message se traduit par lquation
suivante :
message4= 1( _ (()).
5) Le votant vrifie la signature du valideur en dchiffrant le message reu par la cl
publique de ce dernier. Sil estbien en train de communiquer avec un serveur officiel, le
votant envoie lanonymiseur un message form par : le hash du vote sign par le
valideur, le hash du vote, le choix chiffr par la cl publique du dcompteur et
lidentifiant duvotant. Ce message se traduit par lquation suivante :
message5= 3( + () + _ () + ).
6) Lanonymiseur vrifie la signature du valideur en comparant le hash reu avec celui
obtenu aprs le dchiffrement par la cl publique de ce dernier.
Dans le cas ou la signature nest pas valide, un message derreur sera renvoy au votant lui
demandant de contacter ladministrateur. Dans le cas contraire, lanonymiseur envoie au
commissaire un message contenant son identifiant accompagn de lidentifiant devotant et
celui de valideur. Ce message se traduit par lquation suivante:
-
7/24/2019 E-electioon
24/79
Chapitre 2 : Spcification des besoins et conception
17
message6=4( + + ).
7) Le commissaire consulte sa table pour vrifier sil sagit du premier passage par un
anonymiseur. Si tel est le cas, alors il change ltat de lanonymiseur et lui renvoie un
message de confirmation. Sinon un message derreur sera renvoy en lui affirmant que le
vote nest pas unique. Il sagit de message7.
8) Si lanonymiseur na pas reu un message derreur, il envoie au dcompteur le choix du
votant chiffr par la cl publique de ce dernier. Ce message se traduit par lquation
suivante :
message8= 5( _ ()).
9) En recevant un message confidentiel, le dcompteur le dchiffre par sa cl prive et
enregistre le choix tout en envoyant un message lanonymiseur lui indiquant que le
vote est bien reu et sera compt soigneusement.
10)Finalement, lanonymiseur informe le votant que son vote sest termin avec succs.
III. Spcification des besoins
Aprs avoir prsent larchitecture gnrale de notre application, cette section nonce les
diffrents besoins fonctionnels et non fonctionnels de lapplication raliser.
IV.1. Besoins fonctionnels
Les besoins fonctionnels prsentent principalement les fonctionnalits du systme. Nous
dtaillons dans la suite ces besoins en fonction des acteurs :
IV.1.1. Votant
Lacteur votant est toute personne se connectant de son ordinateur personnel de chez lui.
Lordinateurpeut tre utilis par plusieurs membres de la famille.
Un votant doit sauthentifier en utilisant son certificat pour accder lapplication et effectuer
un choix. Il doit valider son choix et il peut vrifier son vote aprs le dpouillement.
IV.1.2. Administrateur (Autorit du vote)
Dans notre application, il peut tre lISIE.
-
7/24/2019 E-electioon
25/79
Chapitre 2 : Spcification des besoins et conception
18
Elle assure, dune part, linscription des votants, la gestion des candidats et la gestion des
certificats utiliss par les votants pour sauthentifier. Elle assure la publication de ces
certificats valides dans un annuaire scuris.
Dautre part, elle supervise les diffrents serveurs agissant dans la procdure de vote en lesconfigurant et en les grant.
IV.1.3. Valideur
Aprs avoir vrifi la signature du votant, il communique avec le commissaire pour garantir
lunicit de vote.
Dans le cas o le votant na pas dj vot, le valideur signe le vote avec sa cl prive et
retourne le vote valid au votant.
IV.1.4. Anonymiseur
Il est responsable de la protection de lanonymat du votant. Il joue le rle dun arbitre entre le
votant et le dcompteur.
Il communique avec le commissaire pour vrifier lunicit de vote et il envoie le vote final au
dcompteur.
IV.1.5. Commissaire
Suite un message provenant du valideur ou de lanonymiseur, il vrifie si le votant a dj
contact lun deux. Il marque ltape de validation ou de lanonymisation en changeant les
tats du valideur et de lanonymiseur dans une table concernant le votant afin dassurer
lunicit de vote.
IV.1.6. Dcompteur
Aprs dchiffrement du message reu, il dcompte les choix des votants en toute scurit et il
informe lanonymiseur, qui est lintermdiaire entre lui et le systme de vote, du bon
droulement de vote.
IV.2. Besoins non fonctionnels
Aprs avoir dtaill les besoins fonctionnels du systme, nous passons mettre en valeur les
diffrentes exigences non fonctionnelles qui se rsument en quelques points:
-
7/24/2019 E-electioon
26/79
Chapitre 2 : Spcification des besoins et conception
19
Interface Homme Machine :lapplication doit assurer une interface comprhensible
et facile utiliser.
Performance : lapplication doit avoir un temps de traitement acceptable afin de
garantir une meilleur qualit de service.
Extensibilit :elle doit tre conue de telle sorte que nous pouvons la mettre jour en
ajoutant des nouveaux lments la base. Le dveloppement de ces mises jours doit
tre long terme et sans avoir besoin refaire tout le travail.
Modularit : Lapplication doit tre bien structure en module pour assurer une
meilleure lisibilit, une diminution du risque derreur et une possibilit de tests
slectifs.
Pour grer les interactions entre les diffrents composants de notre application, il est
primordial de choisir un modle darchitecture adquat et performant.Nous dcrivons cette
architecture dans la section suivante.
IV. Architecture MVC
Le MVC (Modle, Vue, Contrleur) est un modle de conception qui repose sur la volont de
sparer les donnes, les traitements et la prsentation. Ainsi, lapplication se retrouvesegmente en trois couches (chacune a un rle bien dfini):
Le modle :reprsente les donnes et les rgles mtiers. Cest dans cette couche que
les traitements lis au cur du mtier seffectuent. Les donnes peuvent tre lies
une base de donnes, des services Web, etc. Il est important de noter que les donnes
sont indpendantes de la prsentation. En dautres termes, le modle ne ralise aucune
mise en forme. Ces donnes peuvent tre affiches par plusieurs vues.
La vue :correspond l'interface homme/machine de lapplication.Elle prsente les
donnes et interagit avec lutilisateur. Dans le cadre des applications Web, il sagit
dune interface HTML, JSP, etc.
Le contrleur : se charge dintercepter les requtes de lutilisateur, dappeler le
modle puis de rediriger le rsultat vers la vue adquate. Il ne doit faire aucun
traitement. Il ne fait que de linterception et de la redirection.
Les interactions entre ces trois couches sont dcrites comme suit:
-
7/24/2019 E-electioon
27/79
Chapitre 2 : Spcification des besoins et conception
20
Lutilisateur met une requte
Le contrleur intercepte la requte de lutilisateur
Le contrleur dtermine quelle partie du modle est concerne et quelle vue y est
associe Le modle traite les interactions avec les donnes, applique les rgles mtier et renvoie
les donnes au contrleur
Le contrleur slectionne la vue et lui renseigne les donnes
La vue prsente les donnes lutilisateur
V. Conception
Nous dcrivons dans cette partie les diffrents diagrammes du langage de modlisation,
UML2 [10], permettant la modlisation de lapplication. Nous nous somme limits aux
digrammes de cas dutilisation, diagrammes de collaborations, digrammes de squences,
diagramme dactivit etdiagramme de classe.
V.1. Diagramme de cas dutilisation
Le cas d'utilisation est une description des interactions qui vont permettre l'acteur d'atteindre
son objectif. Il permet de mettre en vidence les relationsfonctionnelles entre les acteurs et lesystme tudi.
Nous reprsentons, par la suite, le diagramme du cas dutilisation gnrale de lapplication, le
diagramme relatif au votant et le diagramme relatif lautorit de vote.
-
7/24/2019 E-electioon
28/79
Chapitre 2 : Spcification des besoins et conception
21
V.1.1. Diagramme du cas dutilisation relatif au fonctionnement global
Le schma de la figure 2.2 correspond au diagramme du cas dutilisation globale de
lapplication.
Figure 2. 2 : Diagramme du cas dutilisation global
voter
slectionner
lction
voulue
annuler vote
valider vote
s'authentifier
s'authentifier par
identifiant et
mot de passe
Votant
assurer
unicit du
vote
valider
certificat du
Votant
changer tat
Commissaire
anonymiser
vote
vrifier
validit du
vote
Anonymiseur
Valideur
vrifier
signature d u
votant
signer vote
vrifier
unicit du
vote
dcompter
vote
vrifier
signature d u
valideur
Dcompteur
grer
Certificat
superviser
Agent
Autori tVote
grer
Candidat
grer Votant
s'authentifier
par TLS
-
7/24/2019 E-electioon
29/79
Chapitre 2 : Spcification des besoins et conception
22
V.1.2. Diagramme du cas dutilisation relatif au votant
Nous reprsentons dans la figure 2.3 le diagramme du cas dutilisationrelatif au votant.
Figure 2. 3 : Diagramme du cas dutilisation relatif au votant
Nous dtaillons dans lAnnexe 2 les descriptions textuelles des diagrammes de cas
dutilisation, entre autre : une description dtaille de diagramme de cas dutilisation
sauthentifier relatif au votant, une pour le diagramme de cas dutilisation relatif auvalideur, une autre le diagramme de cas dutilisation relatif au commissaire et une description
textuelle pour le diagramme de cas dutilisation relatif lanonymiseur
V.1.3. Diagramme du cas dutilisation relatif lautorit de vote
Lautorit de vote assure une gestion complte des certificats et elle supervise les agentset les
votants participants au scenario de vote.
voter
s'authentifier
slectionner
lction voulue
annuler vote
valider vote
Votant
s'authentifier par
TLS
s'authentifier par
identifiant et
mot de passe
-
7/24/2019 E-electioon
30/79
Chapitre 2 : Spcification des besoins et conception
23
La figure 2.4 illustre le diagramme du cas dutilisationrelatif lautorit de vote.
Figure 2. 4 : Diagramme du cas dutilisation relatif lautorit de vote
V.2. Diagramme de collaboration
Les diagrammes de collaboration illustrent les interactions entre les diffrents objets du
systme. Ils mettent plus laccentsur laspect spatial des changes que laspect temporel.
V.2.1. Diagramme de collaboration pour lauthentification du votant
Nous reprsentons ce diagramme dans la figure 2.5.
Figure 2. 5 : Diagramme de collaboration pour lauthentification du votant
grerCertificat
superviserAge nt
crerCertificat
distribuerCertificat
rvoquerCertificat
configurerAgent
modifierAge nt
supprimerAge nt
ajouter agent
grer Agent
Auto ritVote
grer Votant
consulterVotant
supprimerVotant
ajouterVotant
grerCandidat
ajouterCandidat
supprimerCandidat
consulterCandidat
S'authentifier
CTR authentification
interface s'authentifierEntit Votant
Acteu r_17
interfaceProfil3
2.transfert()1.saisir(information) 3.traitement de donnes
4.Rsultat
5.Votant authentifi
-
7/24/2019 E-electioon
31/79
Chapitre 2 : Spcification des besoins et conception
24
Les diagrammes de collaboration pour lopration duvote prsidentiel, lgislatif et sondage
sont quasi identiques, part le contenu des messages changs. Pour cette raison, nous nous
limitons reprsenter un seul diagramme de collaboration dcrivant lopration du vote
prsidentiel.
V.2.2. Diagramme de collaboration pour lopration vote prsidentiel
La figure 2.6 reprsente le diagramme de collaboration du votant pour effectuer un vote
prsidentiel.
Figure 2. 6 : Diagramme de collaboration pour loprationvote prsidentiel
V.3. Diagramme de squence
9.dchiffrement()
30.Rsultat
1.slectionner(Election)
2.envoyer()
5.ListeCandidat()
3.demandeListeCandidat()
4.Rsultat
8.envoyer(message1)
10.vrifierSignature()
11.Rsultat
20.vrifier(Signature)
6.slectionner(Candidat)
7.valider(Choix)
21.Rsultat
24.vrifier(Signature)12.envoyer(message2)
35.vote termin
31.envoyer(message8)
33.compter
34.comptage termin
14.vrifier(idVotant, id Valideur)
15.Rsultat
16.Rsultat18.renvoyer(message4)
19.liminerMasque()
22.envoyer(message6)
Votant
interfaceProfil
Entit Candidat
Ctr Candidat
votePrsidentiel
Ctr Commissaire
Ctr Valideur
Ctr VotePresiden tiel
Ctr Anonymiseur
Ctr Compte ur
Entit Verif
Entit Vote
Entit Certificat
25.Rsultat
26.envoyer(message5)
29.Rsultat
28.vrifier(idVotant, id Valideur)
27.dchiffrement
17.dchiffrement
23.dchiffrement
13.dchiffrement
32.dchiffrement
-
7/24/2019 E-electioon
32/79
Chapitre 2 : Spcification des besoins et conception
25
Lobjectif du diagramme de squence est de reprsenter les interactions entre objets en
indiquant la chronologie des changes. Cette reprsentation peut se raliser par cas
dutilisation en considrant les diffrents scnarios associs.
Nous prsentons quelques diagrammes de squences entre autre le diagramme de squencerelatif au cas dutilisation sauthentifier, celui relatif au cas dutilisation Grer Agent, celui
relatif au vote prsidentiel, un autre relatif au vote lgislatifet un diagramme relatif au cas
dutilisationsondage.
V.3.1. Diagramme de squence relatif au cas dutilisation sauthentifier
La figure 2.7 illustre le diagramme de squence pour lauthentification du votant.
Figure 2. 7 : Diagramme de squence pour le scnario Sauthentifier
S'authentifier
saisir(information)
transfert()
traitement de donnes
Resultat
Votant authentifi
Message d'erreur
Votant Interface_Authent i fication Interface_Profi l Crt_authent if ication Entit_Votant
loop
information valide
information invalide
al t
break
saisir(information)
transfert()
traitement de donnes
Resultat
Votant authentifi
Message d'erreur
-
7/24/2019 E-electioon
33/79
Chapitre 2 : Spcification des besoins et conception
26
V.3.2. Diagramme de squence relatif au cas dutilisation GrerAgent
La figure 2.8 illustre le diagramme de squence pour la gestion des agents.
Figure 2. 8 : Diagramme de squence pour le scnario GrerAgent
Nous prsentons les diagrammes de squences pour le scnario de vote prsidentiel, lgislatif
et sondage successivement comme illustr dans les figures 2.9, 2.10 et 2.11.
GrerAgent
Agen t supprim
rsultat
supprimer(Agent)
transferer(Choix)slectionner(Agent)
Agen t non modi fi
Agen t modi fi
rsultat
modifier(Agent)
transferer(paramtres)
modifier(paramtres)
Agen t
envoyer(Choix)
slectionner(Agent)
Agen t exi ste
Agen t aj out
rsultatd'ajout
ajouter(Agent)
transfert(paramtres)
vrifier(paramtres)
ajouterAgent(paramres)
Auto ritVote L isteAgent in tA jout in tModi fica tion in tSuppression CtrL isteAgent CtrA jout CtrModi f CtrSupp EntAgentDtailAgent
[Ajouter]opt
agent n'existe pas
existe
alt
[Modifier]opt
paramtre correcte
paramtre incorrecte
alt
[Supprimer]opt
Agen t supprim
rsultat
supprimer(Agent)
transferer(Choix)slectionner(Agent)
Agen t non modi fi
Agen t modi fi
rsultat
modifier(Agent)
transferer(paramtres)
modifier(paramtres)
Agen t
envoyer(Choix)
slectionner(Agent)
Agen t exi ste
Agen t aj out
rsultatd'ajout
ajouter(Agent)
transfert(paramtres)
vrifier(paramtres)
ajouterAgent(paramres)
-
7/24/2019 E-electioon
34/79
Chapitre 2 : Spcification des besoins et conception
27
Vote prsidentiel
Figure 2. 9 : Diagramme de squence relatif au vote prsidentiel
-
7/24/2019 E-electioon
35/79
Chapitre 2 : Spcification des besoins et conception
28
Figure 2. 10 : Diagramme de squence relatif au vote lgislatif
Vote Lgislatif
-
7/24/2019 E-electioon
36/79
Chapitre 2 : Spcification des besoins et conception
29
Figure 2. 11 : Diagramme de squence relatif au sondage
-
7/24/2019 E-electioon
37/79
Chapitre 2 : Spcification des besoins et conception
30
V.4. Diagramme dactivit
Le diagramme dactivit concerne le comportement interne des oprations ou de cas
dutilisation. Le comportement vis sapplique aux flots de contrle et aux flots de donnes
propres un ensemble dactivits.
La figure 2.12 reprsente le diagramme dactivit de notre application.
Figure 2. 12 : Diagramme dactivit
V.5. Diagramme de classe
Le diagramme de classe constitue lun des pivots essentiels de la modlisation avec UML. En
effet, ce diagramme permet de donner la reprsentation statique du systme dvelopper.
-
7/24/2019 E-electioon
38/79
Chapitre 2 : Spcification des besoins et conception
31
La figure 2.13 dcrit avec prcision le diagramme de classe global.
Figure 2. 13 : diagramme de classe global
VI. ConclusionAu cours de ce chapitre, nous avons, dabord, prsent larchitecture de notre systme.
Ensuite, nous avons spcifi les besoins de notre application et nous avons termin par une
conception dtaille qui nous offre un modle prt tre dvelopp.
Dans le chapitre suivant, nous prsentons les tapes de la ralisation de notre projet et les
rsultats obtenus.
1..*
1..1
1..1
1..*
0..11..1
1..11..*
1..1
1..*
1..1
1..1
1..1
1..1
0..*
1..10..*
1..1
Votant
-
-
--
-
-
identifiant
nom
prnomalias
mot de passe
mail
: int
: String
: String: String
: String
: String
+
+
+
+
+
+
+
+
+
+
+
+
get identifiant ()
set identifiant ()
get nom ()
set nom ()
get prenom ()
set prenom ()
get ali as ()
set alias ()
get mot de pa sse ()
set mot de passe ()
get mail ()
set mail ()
: int
: void
: String
: void
: String
: void
: String
: void
: String
: void
: String
: String
Candidat
Certificat
-
-
dateValidit
etat
: Date
: StringVote
- i d_vote : i nt+
+
get id ()
set id ()
: int
: void
CandidatLgislatif
- part i : S tri ng
+
+
get parti ()
set parti ()
: String
: void
VoteLgislatif
- choi x : S tri ng
+
+
get choix ()
set choix ()
: String
: void
VotePrsidentiel
- choi x : S tri ng
+
+
get choix ()
set choix ()
: String
: void
Sondage
-
-
identifiant
choix
: int
: String
+
+
+
+
get identifiant ()
set identifiant ()
get choix ()
set choix ()
: int
: void
: String
: void
Question
- id : int
+
+
get id ()
set id ()
: int
: void
Compteur
- total : int
+
+
get total ()
set total ()
: int
: void
Ville
- no m : Stri ng
+
+
get nom ()
set nom ()
: String
: void
Region
-
-
nom
nbreVille
: String
: int
+
+
+
+
get nom ()
set nom ()
get nbreVille ()
set nbreVille ()
: String
: void
: int
: int
CandidatPrsidentiel
Compteur_Cand_Lgi
- total : i nt
+
+
set total ()
get total ()
: int
: int
ListCandidat
-
-
identifiant
parti
: int
: String
+
+
+
+
get identifiant ()
set identifiant ()
get parti ()
set part ()
: int
: int
: String
: void
Compteur_Cand_Prs
- total : i nt
+
+
get total ()
set total ()
: int
: void
Agen t
-
-
adresse IP
rgion
: String
: String
Va li deur Comm issa ire A nonym iseur Dcompteur
-
7/24/2019 E-electioon
39/79
Chapitre 3 : Ralisation
32
Chapitre 3 Ralisation
I. Introduction
Ce chapitre est consacr la partie ralisation de notre application. Nous commenons par la
description de l'environnement matriel et logiciel dans lequel nous avons ralis notre
application. Nous montrons, par la suite, les tapes dinstallation et de configuration des
logiciels utiliss. Enfin, nous prsentons les diffrentes interfaces ainsi que les rsultats
atteints.
II. Environnement de dveloppement
Nous prsentons, dans cette section, lenvironnement matriel utilis pour le dveloppement de
cette application ainsi que lenvironnement logiciel.
II.1. Environnement matriel
Au cours de la ralisation de notre application, nous avons dispos d'un ordinateur ayant les
caractristiques suivantes:
Processeur: 2,53 GHZ
Mmoire RAM: 3 Go
Disque dur: 232.5 Go
Systmes dexploitation: Windows 7 et UBUNTU 12.04
II.2. Environnement logiciel
Dans cette partie, nous prsentons les logiciels que nous avons utilis pour la ralisation du
projet. Nous avons choisi le langage de programmation Java pour le dveloppement duconcept orient objet. Pour dessiner les diagrammes dUML, nous avons utilis Sybase
Power AMC.
Nous donnons, par la suite, des dtails sur ApacheStruts, J2EE, MySQL et EJBCA.
II.2.1. Apache Struts
Struts [11] est un Framework pour les applications web dvelopp par le projet Jakarta de la
fondation Apache. C'est le plus populaire des Frameworks pour le dveloppement
-
7/24/2019 E-electioon
40/79
Chapitre 3 : Ralisation
33
d'applications web avec Java. Il met en uvre le modle MVC 2 (Modle / Vue / Contrleur).
L'application de ce modle permet une sparation en trois parties distinctes de l'interface, des
traitements et des donnes de l'application.
Nous avons utilis le Framework Struts 2 qui rsulte de la fusion du projet Struts et du projetWebWork. Cette nouvelle version est caractrise par une simplicit et flexibilit par rapport
la premire (Struts1).
II.2.2. J2EE
La plate forme J2EE [12] (Java 2 Entreprise Edition), est la proposition de SUN pour le
dveloppement et la mise en uvre dapplications dentreprise multi niveaux.
Elle sappuie entirement sur le langage Java et de ce fait, bnficie de ses caractristiques.
SUN caractrise le langage Java comme tant simple, orient objet, interprt, distribu,
robuste, scuris, portable et multitche.
II.2.3. MySQL Workbench 6.0 CE
MySQL Workbench [13] est un logiciel de gestion et d'administration de bases de donnes,il
est cr en 2004. Via uneinterface graphique intuitive, il permet, entre autres, de crer,
modifier ou supprimer des tables, des comptes utilisateurs, et d'effectuer toutes les oprations
inhrentes la gestion d'une base de donnes. Pour ce faire, il doit tre connect un serveur
MySQL.
II.2.4. EJBCA Entreprise Java Bean Certificate Authority
Pour assurer la scurit de notre application, nous avons besoins dune PKI capable doffrir
des milliers des certificats aux votants et aux serveurs participants lopration de vote. Pour
cela nous avons choisitEJBCA.
a.
Dfinition
EJBCA [14] est une solution open-source dveloppe en Java/J2EE et maintenue par la
socit sudoise Primekey. Elle est robuste, de haute performance et flexible qui sadapte aux
diffrents niveaux dassurances ce qui signifie quelle est la meilleure solution pour construire
une infrastructure PKI complte. Elle fournit la fois les fonctions classiques qui se trouvent
dans la plupart des PKI du march, mais elle fournit galement un serveur OCSP (Online
Certificate Status Protocol), un serveur dhorodatage et un serveur de signature.
http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9eshttp://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/Interface_graphiquehttp://fr.wikipedia.org/wiki/Interface_graphiquehttp://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es -
7/24/2019 E-electioon
41/79
Chapitre 3 : Ralisation
34
EJBCA lavantage dtre totalement indpendante des systmes dexploitation, des SGBD
(Systme de Gestion de Base de Donnes) et des serveurs dapplications. En plus de
linterface Web standard, EJBCA offre aussi une interface par ligne de commande qui facilite
lintgration et lautomatisation de certaines oprations.
b. Architecture fonctionnelle
EJBCA propose trois niveaux fonctionnels:
Entit publique ou autorit denregistrement locale (AEL):
Elle est compose dlments permettant de raliser des requtes de certificat et de rvocation
ou de rcuprer des lments publics de la PKI, tels que les certificats dAC, CRL
(Certificate Revocation List), etc.
Autorit de la PKI ou Autorit de Certification (AC):
Elle est responsable de la dlivrance et de la rvocation des certificats. Les cls peuvent tre
conserves sur des magasins de cls (keystore), sur des cartes puce cryptographiques ou
dans une base de donnes.
Entit administrative ou autorit denregistrement (AE):
Elle englobe les fonctions de gestion de la PKI, telles que les fonctions dauthentification, de
gestion de cycle de vie des certificats, de publication et de paramtrage de la PKI. En
complment, elle permet de dfinir le format des entits publiques et le contenu des
certificats.
c. Architecture applicative
EJBCA adopte une architecture Web 3 tiers. Ainsi, elle est dcoupe en trois couches:
Une couche prsentation : fournit les interfaces web aux clients et administrateurs
pour effectuer des requtes auprs de lautorit de certification ou de lautorit
denregistrement.
Une couche applicative : englobe les fonctions mtiers de la PKI.
Une couche de donnes: permet de stocker lensemble des donnes de la PKI dans
une base de donnes. Elle permet aussi la connexion avec lannuaire LDAP
(Lightweight Directory Access Protocol) pour lui adresser les donnes publiques de la
PKI entre autre les utilisateurs, les certificats, CRL, etc.
-
7/24/2019 E-electioon
42/79
Chapitre 3 : Ralisation
35
Architecture technique
EJBCA stocke des informations sur les certificats, les utilisateurs et dautres paramtres. Elle
fournit un support pour diverses bases de donnes standard.
Pour linstaller, nous avons besoins de quelques outils tels que la base de donnes, MySQL-
Connector, un installer ANT, un serveur JBoss, openJDK.
La procdure dinstallation dEJBCA sur la plateforme Ubuntu 12.04, est dtaille dans
lAnnexe 3.
III. Installation et mise en uvre
Dans cette section, nous prsentons les diffrentes tapes qui ont men la ralisation denotre application.
III.1. Cration des certificats
Pour raliser lapplication de vote en ligne, nous devons tout dabord prparer tout les
lments ncessaires pour quunvotant lgitime puisse exercer son droit de vote.
Lautorit de vote subordonne qui est son tour administre par laut orit racine assure la
cration des certificats. Dans le cas rel, elle doit acqurir le pouvoir de certification partir
de lautorit racine ANCE. Mais dans le cadre de ce projet, nous avons cre notre propre
autorit de vote racine.
Lors de linstallation dEJBCA, lautorit de vote est cre. Cette autorit reprsente la
premire CA (du premier niveau) nomm RootCA1. Ce dernier dlgue le pouvoir de
certification dautres entits qui deviennent CA leur tour, doudans le deuxime niveau,
nous avons deux subCAPerson CAet Server CA.
Dans le troisime niveau, nous crons les entits finales. Les certificats des citoyens (votants)
sont signs par lePersonCAet les certificats des serveurs sont signs par le ServerCA.
-
7/24/2019 E-electioon
43/79
Chapitre 3 : Ralisation
36
La figure 3.1 illustre toutes les autorits de certifications ainsi que les entits votants et
serveurs.
Figure 3. 1 : Architecture logique de PKI
Nous dtaillons par la suite les certificats des CA subordonnes et des entits finales.
III.1.1. Cration des deux CA subordonnes
Pour crer les CA subordonnes, nous devons crer en premier lieu leurs profils :
Aprs avoir accder linterface web Administration dEJBCA, il faut:
Ouvrir la page Profil de certificats
Slectionner le profil SUBCA(fixes ) de la liste.
Entrer dans la zone de saisie SubCA_Person (ou SubCA_Server) Cliquer sur Editer le profil de certificats
Les profils des CA subordonnes sont cres avec des proprits copies partir du profil
SUBCA (dfinit par dfaut dEJBCA), comme le montre la figure 3.2.
-
7/24/2019 E-electioon
44/79
Chapitre 3 : Ralisation
37
Figure 3. 2 : Ajout de profil de certificats
A ce moment, nous pouvons crer les deux CA subordonnesPersonCAet ServerCA
Il suffit de cliquer sur Editer/crer des AC et choisir les paramtres adquats pour chaque
autorit.
A ce stade, nous avons prpar les trois autorits de certification comme le montre la figure3.3.
Figure 3. 3 : Les autorits de certification cres
-
7/24/2019 E-electioon
45/79
Chapitre 3 : Ralisation
38
III.1.2. Cration des profils des entits finales
A ce niveau, nous crons un profil pour chaque votant et pour chaque serveur. Les tapes sont
peu prs les mmes sauf que les entits personnes sont certifies parPersonCA et les entits
serveurs sont certifies par ServerCA.
Pour crer un profil votant, il faut suivre les tapes suivantes :
Aller la page Administration et slectionner Profils dentits.
Entrer le nom de la personne dans le champ de texte et cliquer sur le bouton
Ajouter .
Nous obtenons les profils suivants comme lindique la figure 3.4.
Pour diter le profil et ajouter plus dinformation, il faut slectionner le profil de la
personne nouvellement cre et cliquer sur le bouton Editer le profil dentits. Enfin, il
faut entrer les paramtres adquats.
Figure 3. 4 : Profils des entits finales
Dans la phase de prs vote, chaque citoyen voulant exercer son droit de vote, il doit faire une
demande de certificat crite au reprsentant de lISIE. Ladministrateur vrifie lidentit du
citoyen, lge lgal minimum requis, la nationalit, etc. Il demande au votant de lui donner un
mot de passe dexportation du fichier P12 (PKCS #12, Public-Key CryptographyStandards)
-
7/24/2019 E-electioon
46/79
Chapitre 3 : Ralisation
39
Ce mot de passe est utilis, par la suite, pour importer le certificat et la cl prive sur la
machine du votant.
Ladministrateur doit remplir les champs ncessaires et choisir le format P12 puis cliquer sur
Ajouter. La figure 3.5 illustre cette procdure.
Figure 3. 5 : Ajout dun votant
Dans lAnnexe 4, nous prsentons le contenu du certificat RootCA1,PersonCA, ServerCAet
le contenu duncertificat dlivr au votant.
A fin de garantir la scurit de notre application, nous avons choisi lalgorithme RSA,pour la
gnration de couple de cls, de taille 1024 bits et la fonction de hachages choisit est le
SHA256
La dernire tape consiste rcuprer le fichier demand, ladministrateur doit suivre
quelques tapes comme le montre la figure 3.6.
Aller la page Interface publique, slectionner Create Browser Certificate . Saisir lidentifiant et mot de passe.
Tlcharger le fichier.
-
7/24/2019 E-electioon
47/79
Chapitre 3 : Ralisation
40
Figure 3. 6: Demande de certificatEn recevons un fichier P12 par mail, chaque citoyen doit linstaller sur le navigateur web pour
scuriser la procdure dlection le jour de vote.
Par exemple, dans Google chromeil doit aller sous : Paramtres Afficher les paramtres
avancsGrer les certificatsPersonnelet cliquer sur le bouton importer
Il doit spcifier le fichier P12 importer et indiquer le mot de passe du fichier comme
lindique la figure 3.7.
Figure 3. 7 : Installation du fichier P12
-
7/24/2019 E-electioon
48/79
Chapitre 3 : Ralisation
41
III.2. Configuration et organisation de projet J2EE
Comme nous avons indiqu dans le chapitre 2, larchitecture de notre systme est forme par
un systme de vote et quatre entits. Nous avons dvelopp un projet pour chaque programme
c'est--dire un projet pour le systme de vote, un pour le valideur, un pour le commissaire, un
pour lanonymiseur et un projet pour le dcompteur. Chacun dentre eux possde un magasin
de cl (keystore) contenant le couple de cls RSA(une cl publique et une cl prive) et un
magasin de confiance (truststore) contenant les certificats des autres serveurs. Ces keystores
sont utiliss, en premier lieu, lors de la phase dauthentification et en deuxime lieu pendant
le processus de vote pour le chiffrement et le dchiffrement des messages (les keystores et les
truststores sont de type JKS).
Nous devons bien configurer la scurit des serveurs en changeant soigneusement les fichiers
server.xml[15] pour chaque serveur Tomcat utilis dans les projets. Nous devons ajouter le
bout de code suivant.
< Connector SSLEnabled="true" SSLEngine="on" SSLVerifyClient="require" SSLVerifyDepth="2"
clientAuth="true"keyAlias="localhost" keystoreFile="D:\application\Tomcat\tomcat.jks"
keystorePass="tomcat" maxThreads="150" port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true"sslProtocol="TLS" truststoreFile="D:\application\Tomcat\valideur.jks" truststorePass="valider"/>
De plus, dans le fichierstruts.xmlnous devons ajouter le bour de code suivant.
false
443
-
7/24/2019 E-electioon
49/79
Chapitre 3 : Ralisation
42
III.3. Prsentation de droulement de vote
Dans cette partie, nous prsentons les interfaces Homme/Machine que visite le votant pourbien drouler le vote lectronique.
III.3.1. Description de linterface dauthentification et daccueil
Le jour du vote et lors de louverture du sitevote en ligne, le votant est invit slectionner
son certificat parmi les autres certificats installs dans le navigateur. Nous supposons que
cest un ordinateur familial et les membres de la famille peuvent voter en utilisant la mme
machine. Ceci est montr dans la figure 3.8 :
Figure 3. 8 : Authentification par SSL/TLS
Une fois slectionn, le votant doit cliquer sur le bouton OK. Une authentification mutuelle
avec le serveur base sur SSL plus prcisment TLS1.2 seffectue en arrireplan. Nous la
reprsentons dans la figure 3.9 pour montrer son droulement.
1) Un client demande l'accs une ressource protge.
2) Le serveur web prsente son certificat au client.3) Le client vrifie le certificat du serveur.
4) En cas de succs, le client envoie son certificat au serveur.
5) Le serveur vrifie les informations d'identification du client.
6) En cas de succs, le client et le serveur se mettent daccord sur une cl de session.
-
7/24/2019 E-electioon
50/79
Chapitre 3 : Ralisation
43
Figure 3. 9 : Authentification mutuelle
Dans le cas o les deux entits se sont bien authentifies, une page daccueil scurise
saffiche. La page est scurise car dans la barre dadresse de navigateur, lURL est prcd
par httpset un cadenas vert, comme lindique la figure 3.10.
Figure 3. 10 : Description de la page daccueil
-
7/24/2019 E-electioon
51/79
Chapitre 3 : Ralisation
44
A ce stade, le votant est invit choisir un type dlection. Puisque plusieurs certificats
peuvent tre installs dans la mme machine alors pour tre sre et certain que cest la bonne
personne qui dtient le certificat, il est indispensable de rfrencier chaque certificat son
propritaire. Cest pour cela quune authentification supplmentaire par identifiant et mot de
passe est utile. Nous avons choisit que lidentifiant reprsente lalias du certificat et le mot de
passe reprsente le mot de passe de fichier P12.
Nous reprsentons dans la figure 3.11 linterface dauthentification.
Figure 3. 11 : Interface dauthentification par identifiant et mot de passe
Aprs la saisie de son identifiant et mot de passe, le votant peut dmarrer son vote.
III.3.2. Description des interfaces de vote.
Selon le type dlection slectionn prcdemment, lapplication rcupre les listes des
candidats partir de la base de donnes qui est protge par lautorit subordonne elle-mmeDans chaque rgion, nous avons une autorit subordonne qui gre les diffrents serveurs
participants au vote et assure la scurit du serveur base de donnes.
La figure 3.12 indique le profil de vote dans le cas o le votant a choisi une lection
prsidentielle.
-
7/24/2019 E-electioon
52/79
Chapitre 3 : Ralisation
45
Figure 3. 12 : Interface du profil vote prsidentiel
Le votant choisit un candidat parmi les candidats affichs dans la liste et clique sur voter.
Cette action transforme le choix effectu en un message chiffr (message1dans la chapitre 2,
section 2) qui est envoy au valideur.
Pour chiffrer et dchiffrer les diffrents messages changs entre les entits, nous avons
besoin dun keystore de format JKS (Java KeyStore). Alors, il est utile de convertir les
formats P12(le fichier du votant) au format JKS en utilisant loutilKeytool.Puisque, seuls les
certificats des votants doivent tre installs dans le navigateur, nous devons choisir le format
JKS lors de gnration de fichiers des serveurs en utilisant EJBCA.
Le votant est invit, cette fois, affirmer son choix.
-
7/24/2019 E-electioon
53/79
Chapitre 3 : Ralisation
46
La figure 3.13 correspond linterface de confirmation du choix envoyer au valideur.
Figure 3. 13 : Interface validation de choix envoyer au valideur
Si toutes les transactions, dcrites dj dans le chapitre 2, section 2, se droulent correctement
c'est--dire un scnario nominal sest effectu, le votant reoit un message lui affirmant que
son vote t effectu avec succs. Linterface de la figure3.14 montre la russite du vote.
La rception de ce message prouve que le vote a t tenu en compte par le dcompteur.
Figure 3. 14 : Interface de russite de vote
-
7/24/2019 E-electioon
54/79
Chapitre 3 : Ralisation
47
Si le votant a dj vot et veut revoter une autre fois, dans ce cas, lapplication lui interdit devoter et lui affiche linterface de la figure 3.15:
Figure 3. 15 : Interface chec de vote
Concernant la phase de dcomptage, la fin de la procdure de vote, chaque dcompteur local
doit envoyer les rsultats obtenus au dcompteur global situ dans le local principal delorganisation de vote. Ce dernier va publier les rsultats finaux.
III.4. Prsentation de la partie administrative
Durant la phase de pr vote, ladministrateur doit grer la liste des votants, la liste des
candidats et doit de mme superviser les serveurs participants dans le vote. Pour accder
lapplication, il doit sauthentifier par son certificat et vrifier, par la suite, quil est la bonne
personne qui dtient le certificat.
-
7/24/2019 E-electioon
55/79
Chapitre 3 : Ralisation
48
La figure 3.16 montre linterface dauthentification de ladministrateur.
Figure 3. 16 : Interface dauthentification de ladministrateur
Aprs son authentification, ladministrateur peut grer les votants, les candidats et voir les
rsultats des lections. La procdure de gestion est, peu prs, la mme, alors nous
prsentons seulement la gestion des votants.
La figure 3.17 illustre linterface de gestion des votants, ladministrateur peut consulter la
liste des lecteurs enregistrs dans la base de donnes, il peut ajouter dautres votants et il
peut aussi supprimer un votant sil na pas le droit de vote (par exemple il est lgitime mais
avant ou durant la priode de vote il mort)
Figure 3. 17 :Interface de gestion des votants
-
7/24/2019 E-electioon
56/79
Chapitre 3 : Ralisation
49
Si ladministrateur veut ajouter un votant, il doit remplir tous les champs et cliquer sur le
bouton Envoyer . La figure 3.18 montre linterface dajout du votant.
Figure 3. 18 : interface dajout dun votant
Il peut voir les rsultats du vote, en slectant le type dlection. La figure 3.19 illustre le
rsultat dune lection prsidentielle.
Figure 3. 19 : Rsultat dun vote prsidentiel
IV. Conclusion
Au cours de ce chapitre, nous avons spcifi l'environnement matriel et logiciel de notre
application. Ensuite, nous avons dcrit brivement les tapes dinstallation et de gnration de
certificat. Enfin nous avons montr les tapes de vote en utilisant notre application.
-
7/24/2019 E-electioon
57/79
Conclusion gnrale et perspective de travail
50
Conclusion gnrale et perspective de travail
La dmocratie est le rgime politique dans lequel le pouvoir est dtenu par le peuple (principe
de souverainet), sans qu'il y ait de distinctions dues au lieu de naissance, la richesse, la
comptence, etc.
Au cours de ce projet, effectu au sein de l'Unit de Recherche Hatem Bettaher
d'Informatique, Rseau, Tlcommunication et Mathmatique, nous avons russi raliser un
systme de vote en ligne assurant son droulement en toute scurit et garantissant aux
votants la libert de choisir leurs candidats prfrs. Tout ceci dans le but daider les citoyens
participer dans la vie politique dune manire autonome et indpendante.
Nous avons effectu, dans un premier temps, ltude de lexistant qui nous a permis de mieux
comprendre les besoins de lapplication implmenter et de dterminer les contraintes
relatives au vote en ligne. Dans un deuxime temps, nous avons recens les diffrents besoins
fonctionnels et non fonctionnels de lapplication. Et nous avons ralis une conception
dtaille en prsentant plusieurs diagrammes dUML.
Dans un dernier temps, nous avons prsent les choix des logiciels utiliss et le travail ralis
tout en lillustrant avec des interfaces Homme/Machine.
Nous tenons galement signaler dans cette conclusion que ce projet nous a permisdapprofondir nos connaissances en conception et en dveloppement et spcifiquement en
J2EEavec le framework Struts2.
En plus, il a t une bonne occasion qui nous a permis damliorer nos acquis thorique en
scurit et de suivre lactualit du domaine et surtout linstallation et la manipulation
dEJBCAde faon professionnelle.
Finalement, et comme perspective future, nous voulons utiliser les courbes elliptiques pour
chiffrer et dchiffrer les interactions entre les diffrents serveurs participant au vote.Nous voulons aussi liminer lidentifiant et le mot de passe en utilisant une carte puce qui
contient le fichier P12.Ainsi, chaque membre de la famille naura qu introduire sa carte
puce dans le lecteur et il peut sauthentifierdirectement avec le systme.
-
7/24/2019 E-electioon
58/79
Bibliographie
51
Rfrences
[1] Nicolas Bonvin, Systme de vote lectronique, Projet de MasterJanvier 2005.
[2] http://www.tuniscope.com/index.php/article/9787/actualites/tunisie/etapes-302709#.U3Hfx4F5Ob8 [visit le 01/05/2014].
[3]http://yvespoey.unblog.fr/2007/04/05/machines-a-voter-pour-boutons-de-panurge/[visit le
21/04/2014].
[4] http://www.ville-antony.fr/machine-voter [visit le 03/05/2014].
[5] http://www.agoravox.tv/actualites/politique/article/machines-a-voter-ou-machines-a-17260
[6] Pascal Gachet , Dploiement de solutions VPN : PKI Etude de cas , Travail dediplme Ecole dingnieur du Canton de Vaud, 20 dcembre 2001.
[7] William Stallings, Scurite des rseaux,Vuibert, Paris, 2002.
[8] Whitefield Diffie and Martin E Hellman, New Directions iCryptography , 6 novembre1976.
[9] R. Rivest, A. Sham ir, L. Adleman. A Method for Obtaining Digital Signatures andPublic-Key Cryptosystems]. Communications of the ACM, Vol. 21 (2), pp.120126. 1978.
[10] Joseph Gabay, David Gabay, Analyse et conception Dunod, Paris, 2008.
[11] http://dico.developpez.com/html/3109-Langages-Struts.php. visit le [02/04/2014].
[12] Benjamin Aumaille, Dveloppement d'applications Web Nantes : Ed. ENI , 2002.
[13] http://www.mysql.fr/products/workbench/ [visit le 05/04/2014].
[14] Yannick Quenec'hdu -Reponsable BU scurit EJBCAPKI .
[15] http://blog1.vorburger.ch/2006/08/setting-up-two-way-mutual-ssl-with.html [visit le
01/03/2014].
-
7/24/2019 E-electioon
59/79
Annexe 1
Annexe 1 : les principales tapes du scrutin pour l'lection
en Tunisie
Tout dabord, le