Skip to content

Instantly share code, notes, and snippets.

@knarf-se
Created October 29, 2011 13:51
Show Gist options
  • Save knarf-se/1324477 to your computer and use it in GitHub Desktop.
Save knarf-se/1324477 to your computer and use it in GitHub Desktop.
e-valsystem
msc {
arcgradient = 7;
v [label="Valmyndigheten"], r [label="Rostraknare"];
--- [label="En rostraknare ansluter sin dator till systemet"];
v<=r [label="Logga in med e-Leg."];
v>>r [label="Unik nyckel"];
v<-r [label="Publik nyckel"];
v->r [label="Flera Unika e-valsedlar"];
r box r [label="'Blind'-signerar mottagna valsedlar"];
...;
}
#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass scrartcl
\use_default_options true
\maintain_unincluded_children false
\language swedish
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref true
\pdf_title "En teori om ett säkert e-val system"
\pdf_subject "Elektroniskt val"
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder true
\pdf_colorlinks true
\pdf_backref false
\pdf_pdfusetitle true
\papersize default
\use_geometry false
\use_amsmath 1
\use_esint 1
\use_mhchem 1
\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 1
\boxbgcolor #2060b3
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language polish
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Title
En förslag till ett säkert e-val system
\end_layout
\begin_layout Date
Lördagen den 29
\begin_inset script superscript
\begin_layout Plain Layout
e
\end_layout
\end_inset
Oktober, 2011
\end_layout
\begin_layout Author
Frank M.
Eriksson
\end_layout
\begin_layout Section
Introduktion
\end_layout
\begin_layout Standard
Denna morgon, så var jag med om ett slags “Eureka!-moment” Jag kom på en
Idé om hur man skulle kunna implementera ett säkert e-Valsystem som bevarar
valhemligheten.
\end_layout
\begin_layout Subsection
Om detta dokument
\end_layout
\begin_layout Standard
Detta dokument beskriver en tänkbar lösning till hur man skulle kunna implemente
ra ett säkert e-valsystem.
\end_layout
\begin_layout Standard
Det är viktigt att förstå att jag avstår ifrån att göra någon som helst
intelektuellt anspråk på själva Idéen, för information om lisensen för
detta dokument självt, se avsnittet →
\noun on
Verkets lisens
\noun default
.
\end_layout
\begin_layout Standard
Antagligen så bör denna version av detta dokument kallas för revition 0;
Jag har inte riktigt tid med att beskriva alla Ideér på ett klart och tydligt
sätt just nu, så därför är det nog bättre att jag låter bli så länge.
Det är ju inte direkt som att det är brottom än så länge, men att lämna
in detta halv tolv duger inte.
\end_layout
\begin_layout Subsection
Beskrivning av domänets karakär
\end_layout
\begin_layout Subsubsection
Svårigheter som måste överkommas
\end_layout
\begin_layout Itemize
Bevarandet av valhemligheten
\end_layout
\begin_layout Itemize
Robusthet gentemot Virus, Trojaner och andra typer av skadlig programkod
\end_layout
\begin_layout Itemize
Möjligheten till valfusk
\end_layout
\begin_layout Itemize
Tvingade röster, d.v.s.
att någon tvingar någon annan att rösta på en sak som denne någon bestämmer
\end_layout
\begin_layout Itemize
Systemkomplexitet; Ju mer komplext något är, desto större är chansen att
något går snett.
\end_layout
\begin_layout Subsubsection
Reduktion utav kostnader
\end_layout
\begin_layout Standard
För att reducera kostnaderna så borde existerande system som redan är på
plats användas, såsom BankID och andra typer av redan existerande elektronisk
identifikation.
Själv skulle jag föredra användandet av RSA/DSA/PGP nycklar, då dessa troligen
är mycket säkrare än BankID och har fördelen av att dem fungerar på fler
system
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Jag kan själv inte använda BankID då det inte är tillgängligt för 64bitars
system, så jag känner mig faktiskt lite utanför här i samhället för att
jag använder lite för moderna teknologier.
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Jag föredrar att man skall ge alla möjligheten att använda det system som
dem är mest bekväma med, så länge det systemet möter grundläggande säkerhetskra
v.
\end_layout
\begin_layout Standard
Tillexempel så skulle man kunna kräva att RSA-nyckeln måste ha en längd
utav 2048bitar eller mer, och att den publika nyckeln måste registreras
på någon statlig instutition som en allmän identitets handling.
\end_layout
\begin_layout Subsection
Definitioner
\end_layout
\begin_layout Description
Genesisnyckel En assymetrisk nyckel som används för att försäkra den sanna
naturen av
\noun on
Verifikanternas
\noun default
publika nyckel
\end_layout
\begin_layout Description
Operatör En person som genomför en procedur tillsammans med
\noun on
Verifikanterna
\noun default
när det bara behövs en person till genomförandet, det vill säga när proceduren
inte skall genomföras av flera personer.
Som till exempel vid skapandet av
\noun on
Genesisnyckeln
\end_layout
\begin_layout Description
Verifikant En förtroendevald person som verifierar att allting går till
på rätt sätt
\end_layout
\begin_layout Section
Genomföring av själva röstandet
\end_layout
\begin_layout Standard
Till en början så skall e-röstningen ske i val-lokalerna, för att förhindra
att man blir tvingad till att rösta på något.
Antagligen så kommer vissa människor vilja ha med sig enheter som dem litar
på.
Ett alternativ kan vara att man långt i förväg innan valet begär att få
rösta hemma/annanstans, om man känner att man kan rösta tryggt i hemmet/annanst
ans.
\end_layout
\begin_layout Standard
Rösträknarna skall vara vem som helst som har en dator med Internet-uppkoppling,
anledningen till varför dem måste styrka sin identitet är för att minska
risken för fiffel.
\end_layout
\begin_layout Standard
En bild säger mer än tusen or brukar man säga, så här följer två bilder,
den första visar proceduren när en frivillig digital rösträknare ansluter.
\end_layout
\begin_layout Standard
\begin_inset Graphics
filename counter.eps
\end_inset
\end_layout
\begin_layout Standard
All kommunikation mellan rösträknare och de röstberättigade personerna skall
ske genom anonymiserings-tjänsten Tor, för att bevara röshemligheten.
\end_layout
\begin_layout Standard
\begin_inset Graphics
filename evote.eps
\end_inset
\end_layout
\begin_layout Standard
'Blind'-signering går ut på att man kan signera ett meddelande utan att
veta om innehållet i meddelandet, på så sätt kan man bevara anonymiteten.
\end_layout
\begin_layout Standard
Sen är även tanken att rösträknarna skall Ej updatera hur många röster dem
har fått in i real-tid, eftersom att det skulle kunna spräcka en persons
anonymitet.
Helst så skall valmyndigheten inte logga anslutningar på deras server.
\end_layout
\begin_layout Standard
Rösträknarna själva kan ju såklart titta på hur många röster dem har räknat,
vilket i teorin kan vara olika för olika rösträknare på grund utav bortfall,
sen kan det även bli populärt att låna ut sin dator till detta; Antagligen
så är det rätt så tungt redan vid 1000 rösträknare för den röstberättigade
personen då måste verifiera mot mot alla dessa, man bör ha ett minimumkrav
och en dynamisk max-gräns som beror på olika faktorer.
\end_layout
\begin_layout Subsection
IRL override
\end_layout
\begin_layout Standard
Liksom Norge, så skulle det vara bra om man kunde gå och papers-rösta om
det blir så att man kan rösta ifrån hemmet, och att denna röst blir den
som gäller i stället.
Det går fortfarande att hålla detta anonymt, om man får en SHA1-hash eller
liknande som motsvarar ens digitala röstsedel.
\end_layout
\begin_layout Standard
Naturligtvis så måste val-lokalerna övervaka rösterna och direkt säga att
man har röstat så att man inte kan rösta igen, eller så måste min Idé tänkas
över lite till (Kompliceras).
\end_layout
\begin_layout Addsec
Verkets lisens
\end_layout
\begin_layout Standard
Detta dokument är i sig självt licensierat under licensen Creative Commons
Attribution 3.0 Unported (CC BY 3.0)
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Licensen kan läsas på
\begin_inset CommandInset href
LatexCommand href
target "http://creativecommons.org/licenses/by/3.0/legalcode"
\end_inset
(på Engelska) och
\begin_inset CommandInset href
LatexCommand href
target "http://creativecommons.org/licenses/by/3.0/deed.sv"
\end_inset
(Svensk sammanfattning)
\end_layout
\end_inset
.
Vilket betyder att jag ger dig rätten till att i princip göra vad du vill
med detta dokument; Du kan trycka up den och sälja om du så vill, skriva
om stora delar eller översätta till ett annat språk.
\end_layout
\begin_layout Standard
Det enda du inte får göra är att säga att du gjort orginalet, men du får
gärna berätta för andra att du har skrivit om detta dokument och skapat
en bättre version; Så länge du ger mig erkännande för orginalverket.
\end_layout
\begin_layout Standard
Idéen som beskrivs i detta dokument omfattas Ej utav dokumentets licens,
jag gör absolut inga anspråk på Idéen över huvud taget, den ligger inte
ens i mitt område av expertis.
\end_layout
\end_body
\end_document
msc {
arcgradient = 7;
p [label="Rostberattigad person"], v [label="Valmyndigheten"], r [label="Rostraknare"];
...;
--- [label="Personen loggar in"];
p=>v [label="Logga in med e-Leg."];
p<<v [label="Unik nyckel"];
p box p[label="Genererar publik nyckel"];
... [label=""];
p->v [label="Publik nyckel"];
--- [label="Personen ar nu inloggad"];
p<-r [label="Personlig 'Blind'-signerad valsedel"];
p box p[label="rostar"];
... [label=""];
p->v [label="valsedel & krypterad rostsedel"];
p<-v [label="'Blind'-Signerad rostsedel"];
p->r [label="Avkrypterad rostsedel"];
p<:r [label="Godkannande"];
--- [label="Personen har nu rostat klart"];
... [label=""];
r box r [label="Raknar roster"];
v<-r [label="Rostresultat"];
v<:r [label="Aterlamnar 'Blind'-signerade rostsedlar"];
r box v [label="Kontrollrakning av roster och valsedlar"];
... [label=""];
v box v [label="Resultaten presenteras"];
# |||;
r box r [label="De presenterade resultaten verifieras"];
# p<-r [label="Rostnyckel"];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment