Autor: Michał Rajkowski Opiekun: prof. dr hab. inż. Zbigniew Kotulski



Podobne dokumenty
Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Wykład 9. komputerowych Głosowanie internetowe - główne slajdy. 23 listopada Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Podstawy systemów kryptograficznych z kluczem jawnym RSA

WSIZ Copernicus we Wrocławiu

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Zarys algorytmów kryptograficznych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

Authenticated Encryption

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

2 Kryptografia: algorytmy symetryczne

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Bezpieczeństwo kart elektronicznych

Przewodnik użytkownika

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

ZiMSK. Konsola, TELNET, SSH 1

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Podpis elektroniczny dla firm jako bezpieczna usługa w chmurze. mgr inż. Artur Grygoruk

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

Informatyka na WPPT. prof. dr hab. Jacek Cichoń dr inż. Marek Klonowski

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Elektroniczna Demokracja e-voting

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Demokracja elektroniczna (e-demokracja) to rządy demokratyczne z wykorzystaniem elektronicznych technologii komunikacyjnych.

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Podstawy Secure Sockets Layer

BeamYourScreen Bezpieczeństwo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Czym jest kryptografia?

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

SET (Secure Electronic Transaction)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Szyfrowanie RSA (Podróż do krainy kryptografii)

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

SCHEMAT ZABEZPIECZENIA WYMIANY INFORMACJI POMIĘDZY TRZEMA UŻYTKOWNIKAMI KRYPTOGRAFICZNYM SYSTEMEM RSA

Ataki kryptograficzne.

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Zastosowania informatyki w gospodarce Wykład 5

Kryptografia szyfrowanie i zabezpieczanie danych

PRODUKT System Cryptoline. 1. Firma

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Kryptografia na procesorach wielordzeniowych

Program szkolenia: Bezpieczny kod - podstawy

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

SSL (Secure Socket Layer)

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

Kryptografia i ochrona informacji

Szyfrowanie informacji

Parametry systemów klucza publicznego

Jak bezpieczne są Twoje dane w Internecie?

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Bezpieczeństwo w sieciach bezprzewodowych WiFi. Krystian Baniak Seminarium Doktoranckie Październik 2006

SZYFROWANIE POŁĄCZEŃ

Laboratorium nr 2 Szyfrowanie, podpis elektroniczny i certyfikaty

Protokoły zdalnego logowania Telnet i SSH

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Kwantowe przelewy bankowe foton na usługach biznesu

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

IPsec bezpieczeństwo sieci komputerowych

Zdalne logowanie do serwerów

Spis treści. Od Wydawcy

Kryptografia ogranicza się do przekształcania informacji za pomocą jednego lub więcej tajnych parametrów

Do projektu ustawy Kodeks wyborczy (druk 1568) wprowadza się następujące. zmiany: 1) w art. 30 po 3 dodaje się 3a w brzmieniu:

Wdrożenie infrastruktury klucza publicznego (PKI) dla użytkowników sieci PIONIER

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

Głosowanie przez Internet. Konrad Linde < >

Bezpieczeństwo w Internecie

Udany Electronic Cash BitCoin. Andrzej P.Urbański

Technologia biometryczna w procesach obsługi pacjentów i obiegu dokumentacji medycznej Konferencja ekspercka dotycząca e- Zdrowia Warszawa, 27

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Copyright by K. Trybicka-Francik 1

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Biometryczna Identyfikacja Tożsamości

Nowa odsłona wyodrębnienie i kierunki jego rozwoju Łysomice

Bezpieczeństwo danych, zabezpieczanie safety, security

VPN dla CEPIK 2.0. Józef Gawron. (wirtualna sieć prywatna dla CEPIK 2.0) Radom, 2 lipiec 2016 r.

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Przegląd protokołów komunikacyjnych automatyki przemysłowej w aspekcie bezpieczeństwa sieci OT. Suchy Las, maj 2017

Bezpieczeństwo bezprzewodowych sieci WiMAX

Dzień dobry Państwu, nazywam się Dariusz Kowal, jestem pracownikiem Śląskiego Centrum Społeczeństwa Informacyjnego, gdzie pełnię rolę inspektora ds.

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Transkrypt:

Autor: Michał Rajkowski Opiekun: prof. dr hab. inż. Zbigniew Kotulski

1) Wprowadzenie 2) Klasyfikacja systemów głosowania elektronicznego 3) Aplikacja a) Założenia b) Protokoły i algorytmy c) Schemat działania d) Architektura e) Uzyskane cechy 4) Podsumowanie 5) Literatura

Systemy głosowania elektronicznego (ang. electronic voting systems) Coraz większa cyfryzacja społeczeństwa -> cyfryzacja wyborów Wygoda możliwość głosowania np. przez Internet Wydajność znacznie skrócony czas potrzebny na obliczanie wyniku wyborów

Dokładność dużo większa niż w przypadku ręcznego liczenia głosów Koszt znaczne oszczędności na fizycznych elementach systemu Dodatkowe zalety znacznie skrócony czas potrzebny na obliczanie wyniku wyborów

Systemy głosowania elektronicznego można klasyfikować pod dwoma względami: 1) Stopień wirtualizacji 2) Uzyskane cechy bezpieczeństwa

Stopień wirtualizacji oznacza jak bardzo dany system odchodzi od oryginalnej (fizycznej) formy a zmierza w kierunku wyborów całkowicie wirtualnych 1) Elektroniczna wirtualizacja wyników głosowania a) Systemy komputerowe spełniają jedynie rolę pomocniczą przy zbieraniu i wizualizacji wyników wyborów b) Proces głosowania oraz liczenia głosów pozostaje niezmienny c) Z racji roli ogrywanej przez system, wymagania bezpieczeństwa są niskie

2) Głosowanie wspomagane elektronicznie a) Systemy komputerowe obsługują przyjmowanie i zliczanie głosów b) Wyborcy oddają głosy w lokalach wyborczych na specjalnych terminalach (ang. voting machines) c) Pozwala na stopniową wirtualizację procesu wyborów d) Wymagania bezpieczeństwa są dużo wyższe niż w poprzednim przypadku

3) Głosowanie zdalne a) Głosy oddaje się zdalnie z dowolnej lokalizacji za pomocą medium, które taką wymianę danych umożliwia (np. Internet, sieć GSM) b) Obsługą wyborów zajmują się odpowiednie serwery centralne c) Oznacza to pełną wirtualizację procesu wyborów oraz najwyższe wymagania bezpieczeństwa d) Bardzo ważne jest odpowiednie rozwiązanie problemu identyfikacji wyborców (np. podpis kwalifikowany)

Cechy bezpieczeństwa pozwalają określić jak bezpieczny jest dany system głosowania oraz czy spełnia określone przez nas wymagania. 1) Privacy (prywatność) relacja głosująca-oddany głos musi pozostać tajemnicą, tak by wyborcy mogli wyrażać swoją wolę bez obawy o bycie zastraszonym 2) Accuracy (dokładność) wyniki wyborów muszą dokładnie odzwierciedlać wybór dokonany przez głosujących 3) Receipt-freeness (brak pokwitowania) oznacza brak możliwości, by głosujący był w stanie uzyskać/stworzyć paragon, który potwierdzałby w jaki sposób głos został oddany; cecha ta ma na celu zapobieganie sprzedaży/kupnie głosów 4) Eligibility (kwalifikowalność) tylko głosujący posiadający prawa wyborcze mogą głosować, wszystkie głosy oddane przez osoby nie uprawnione nie są brane pod uwagę 5) Un-reusability (brak reutylizacji) każda uprawniona do głosowania osoba może oddać tylko jeden poprawny głos, tak by każdy wyborca posiadał jednakowy (cząstkowy) wpływ na końcowy wynik wyborów

6) Fairness (uczciwość) żadne częściowe wyniki nie są prezentowane przed oficjalnym zakończeniem wyborów, tak by dochować całkowitej prywatności wyborów oraz dać wszystkim kandydatom równe szanse 7) Robustness (rzetelność) system pozostaje bezpieczny nawet wtedy, gdy występują pewne zakłócenia/awarię (oczywiście tylko do pewnego stopnia), niezależnie od ich źródła (głosujący, administracja, czy czynniki zewnętrzne) 8) Completeness (całkowitość) wszystkie poprawnie oddane głosy muszą zostać poprawnie zliczone 9) Soundness (solidność) odporność na błędy/zakłócenia przykładem może być zabezpieczenie system by nieuczciwy głosujący nie mógł przerwać procesu głosowania 10) Inalterability (nienaruszalność) po oddaniu głosu przez głosującego nie ma możliwość jego zmiany ani przez głosującego, ani przez nikogo innego (zarówno z jak i spoza systemu)

11) Personal verifiability (osobista weryfikowalność) musi istnieć możliwość sprawdzenia czy wynik głosowania jest poprawny i czy ktoś niepowołany nie wpłynął na niego podczas trwania wyborów; wyborca musi mieć możliwość sprawdzenia czy jego głos został poprawnie oddany 12) Universal verifiability (powszechna weryfikowalność) podobnie jak w przypadku wyżej, z tą różnicą, że każdy ma możliwość sprawdzenia poprawności wyborów 13) Dispute-freeness (bezsporność) fakt, że uczestnicy głosowania (głosujący/administracja) postępują zgodnie z protokołem głosowania może być publicznie potwierdzony (w dowolnej fazie wyborów) przez dowolną osobę (z i spoza systemu) 14) Incoercibilty (nieprzymuszalność) nie może istnieć możliwość zmuszenia do oddawania głosu wbrew ich woli czy przekonaniu

Celem pracy jest stworzenie prostego systemu głosowania elektronicznego Musi spełniać podstawowe wymagania bezpieczeństwa Musi być stosunkowo prosty w implementacji

Zaprojektowany schemat opiera się w głównej mierze na: 1) Ślepym podpisie (ang. blind signature) 2) Zaślepianiu bitowym XOR 3) Certyfikatach Dzięki temu uzyskujemy system, który pozwala na implementację wymaganych cech bezpieczeństwa przy stosunkowo prostej implementacji

1) Diffie-Hellman - jest to protokół kryptograficzny, który pozwala w bezpieczny sposób ustalić dwóm stronom wspólny sekret. Dodatkowo, otrzymanie tego sekretu na podstawie treści wymienionych wiadomości między stronami jest praktycznie niemożliwe. Sekret ten jest później używany do ustalenia wspólnego klucza sesyjnego, używanego do szyfrowania komunikacji. 2) AES (Advanced Encryption Standard) - to symetryczny szyfr blokowy; W naszym systemie AES jest używany do szyfrowania wiadomości przesyłanych między poszczególnymi elementami systemu. Główną zaletą AES jest szybkość działania (w porównaniu do wydajności kryptograficznej szyfru RSA) oraz stosunkowo wysokie bezpieczeństwo nawet klucz 128 bitowy jest już bardzo trudny do złamania.

3) RSA (Rivest-Shamir-Adleman) - Jest to jeden z pierwszych i obecnie jeden z najpopularniejszych asymetrycznych algorytmów kryptograficznych. Można go stosować zarówno do szyfrowania jak i do podpisów cyfrowych. Bezpieczeństwo szyfrowania opiera się na trudności faktoryzacji dużych liczb złożonych. 4) Blind Signature (Ślepy podpis) Protokół ślepych podpisów jest w kryptografii formą cyfrowego podpisu, w którym podpisywany dokument nie jest znany osobie podpisującej. Ślepy podpis może być potem zweryfikowany z wiadomością. Ślepe podpisy są na ogół wykorzystywane w protokołach opartych na prywatności, w których autor wiadomości i podpisujący to różne osoby.

Ślepy podpis oparty na RSA: o A zaślepia wiadomość m o B tworzy s (podpis zaślepionej wiadomości m ) o A odślepia s i uzyskuje s (podpis wiadomości m) o Dowód na poprawność

1) UC generuje certyfikat cyfrowy dla każdego zarejestrowanego wyborcy 2) Każdy z wyborców używa uzyskanego certyfikatu do uzyskania od KW losowej sekwencji bitowej B i (karta wyborcza) 3) Każdy wyborca konstruuje swój głos v i a) Jeżeli głos jest oddanych na pierwszą opcję to: v i =B i (0,,0, 1,0,,0) 1 na i-tym miejscu b) Jeżeli głos jest oddanych na drugą opcję to: v i =B i (0,,0) 4) Każdy wyborca wybiera sekwencję losową C i i oblicza P i =v i C i

5) Wyborca tworzy P i * i przesyła ją do UC 6) UC podpisuje P i * i zwraca S(P i ) * do wyborcy 7) Wyborca usuwa zaślepienie i wysyła S(P i ) do CKW 8) Wyborca wysyła C i do UC 9) UC oblicza C i wysyła je do CKW C=C 1 C 2 C n 10) KW oblicza B i wysyła je do CKW B=B 1 B 2 B n 11) CKW sprawdza podpisy S(P 1 ) S(P n ) i uzyskuje P 1 P n

12) CKW oblicza P= P 1 P 2 P n v=p C=v 1 v 2 v n 13) CKW oblicza liczbę głosów na opcję nr 1 i 2 za pomocą odległości Hamminga a) Liczba głosów na opcję nr 1: odległośćhamminga(v,b) b) Liczba głosów na opcję nr 2: N-odległośćHamminga(v,B) 14) CKW publikuje P 1 P n oraz C

1) Prywatność Dzięki zastosowaniu ślepego podpisu oraz zaślepień bitowych UC zna tylko C i co nie wystarcza do obliczenia v i, nie znając B i. KW zna tylko B i, co również nie wystarcza do odgadnięcia v i. CKW zna P i, ale nie zna ani B i, ani C i, gdyż posiada jedynie sumy XOR C i B. 2) Kwalifikowalność Urząd Certyfikacji, wystawia certyfikaty potwierdzające tożsamość Do wyborów mogą przystąpić jedynie uprawnieni wyborcy (zarejestrowani w bazie danych AC)

3) Weryfikowalność Każdy wyborca zna swoje Pi, a po zakończeniu wyborów CKW publikuje C oraz listę wszystkich P x użytych do obliczenia wyniku końcowego. Dzięki temu istnieje możliwość sprawdzenia czy nasz głos został uwzględniony przy obliczaniu wyniku wyborów. 4) Uczciwość Sama konstrukcja system nie pozwala na publikowanie wyników pośrednich Można opublikować jedynie wyniki końcowe

5) Wyjątkowość Głos wyborcy zajmuje określone miejsce w ciągu bitowym Bit przyjmuje jedynie wartość 1 lub 0 Sama konstrukcja protokołu głosowania uniemożliwia oddanie wyborcy więcej niż jednego głosu 6) Całkowitość Każdy poprawny głos jest podpisywany (ślepym podpisem) przez UC CKW, która zna klucz publiczny AC, może sprawdzić poprawność każdego głosu Każdy poprawny głos jest uwzględniany przy wyliczaniu końcowego wyniku.

System spełnia najważniejsze cechy bezpieczeństwa Jest łatwy w implementacji Pozwala na bardzo lekkie rozwiązanie problemu prywatności

1. A Critical Review of Receit-Freeness and Coercion-Resistance, Bo Meng, School of Computer, South-Center Univeristy for Nationalities, Hubei, 2009 2. Design and analysis of a practical e-voting protocol, Marian Novotny, Institute of Computer Science, Pavol Jozef Safarik University, 2009 3. The Theory and Implementation of an Electronic Voting System, Ivan Damgard, Jens Groth and Gorm Salomonsen, 2003 4. Implementation Issues In Secure E-Voting Schemes Riza Aditya, Byoungcheon Lee, Colin Boyd and Ed Dawson, Information Security Research Centre, Queensland University of Technology, 2008 5. Analysis of an Electronic Voting System, Tadayoshi Kohno, Adam Stubblefield, Aviel D. Rubin, Dan S. Wallach, 2007 6. Security Considerations for Remote Electronic Voting over the Internet, Avi Rubin, AT&T Labs Research, 2009