The art of cryptography:
secure internet & e-voting
This course is listed in Aachen Campus as Esecurity: secure internet and e-voting and in Bonn Basis as MA-INF 1312 - The art of cryptography: secure internet & e-voting or here.
Contents
This course is about various aspects of security in the internet. In the first part we deal with secure connections, whereas the second part considers electronic voting schemes involving further tasks.
- Who can read my email?
- How do I know that eBay is eBay, or amazon is amazon?
- What is the public key of Angela Merkel? Where do I get it and how do I verify that it's really hers?
- ...
In the internet a large variety of protocols ("chatting programs") are in use to make this or that `secure'. VPN, IPsec, SSL, PKI, PGP are just a few tokens that need explanations. We will try to understand a little of that and how things are used and made available. We aim at also considering their security relative to the used primitives.
Decision finding processes in most democratic societies are guided by the election of representatives. Some smaller states also conduct voting for particular decisions. Apart from political elections, a lot of other voting processes are in use to determine leaderships, opinions, ... Nowadays we require democratic elections to be free and fair. This implies several features, like anonymity and secrecy. (Secret elections only take place since about the middle of the nineteenth century.) German law requires even more:
Die Abgeordneten des Deutschen Bundestages werden in allgemeiner, unmittelbarer, freier, gleicher und geheimer Wahl gewählt. GG Art. 38 Abs. 1 Satz 1 (The members of the German Federal Diet are elected in general, direct, free, fair and secret elections.)
Since the advent of computers and the Internet people have tried to use the new means also in election processes. Major forces driving that are the cost and the election turnout. However, cheaper and faster election processes might have even more, yet unpredictable effects on society and democracy. The topic of the course shall be the treatment of the methods and the one or other solution for electronic elections. This ranges from simple voting machines to complete remote Internet election systems. In the latter, modern cryptographic methods are essential for ensuring major properties.
Lecture
Time & Place
- Tuesday, 1300-1430, b-it 2.1.
- Wednesday, 1345-1515, b-it 2.1.
- Tutorial: Tuesday, 1445-1615, b-it 2.1.
First meeting: Tuesday, 12 April 2016, b-it Rheinsaal(!).
Times have been adapted in agreement with the class. Differing values found in BASIS or CAMPUS are wrong.
Exam
Pre-exam meeting: Thursday, 25 August 2016, 1130, b-it 1.25.
Exam: Tuesday, 30 August 2016, 1000, b-it bitmax.
Post-exam meeting: Thursday, 8 September 2016, 1130, b-it 1.25.
Exam2 (repetitions only): Tuesday, 27 September 2016, 1000, b-it 1.25.
Notes
The screen notes (PDF 33.6MB) contain all handwritten stuff (last updated 20 July 2016, 16:07).
Exercises
- Sheet 1 (PDF, last updated 13 April 2016, 19:27).
- Sheet 2 (PDF, last updated 20 April 2016, 22:18).
- Sheet 3 (PDF, last updated 27 April 2016, 20:35).
- Sheet 4 (PDF, last updated 04 May 2016, 16:58).
- Sheet 5 (PDF, last updated 12 May 2016, 17:38).
- Sheet 6 (PDF, last updated 24 May 2016, 20:07).
- Sheet 7 (PDF, last updated 01 June 2016, 17:04).
- Sheet 8 (PDF, last updated 08 June 2016, 15:50).
- Sheet 9 (PDF, last updated 15 June 2016, 15:49).
- Sheet 10 (PDF, last updated 22 June 2016, 16:35).
- Sheet 11 (PDF, last updated 29 June 2016, 15:33).
- Sheet 12 (PDF, last updated 08 July 2016, 10:04).
- Sheet 13 (PDF, last updated 13 July 2016, 16:45).
Literature on TLS/SSL
- Debian/OpenSSL fiasco:
- Russ Cox (2008). Lessons from the Debian/OpenSSL Fiasco.
- Debian (2008). Debian Security Advisory: DSA-1571-1 openssl -- predictable random number generator.
- H. D. Moore (2008). The bug.
- Wikinews (2008). Predictable random number generator discovered in the Debian version of OpenSSL.
- IETF (2004-2011). TLS/SSL.
- RFC5246 The Transport Layer Security (TLS) Protocol Version 1.2.
- RFC3749 Transport Layer Security Protocol Compression Methods.
- RFC6066 Transport Layer Security (TLS) Extensions: Extension Definitions.
- RFC6091 Using OpenPGP Keys for Transport Layer Security (TLS) Authentication.
- RFC4279 Pre-Shared Key Ciphersuites for Transport Layer Security (TLS).
- RFC4492 Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS).
Literature on OTR, Axolotl, TextSecure, Open Whisper, Signal, ...
- Wikipedia (-2016). OTR.
- Cipherpunks (-2016). Off-the-Record Messaging Protocol version 3.
- Joseph Bonneau & Andrew Morrison (2003). FiniteState Security Analysis of OTR Version 2. (PDF)
- Wikipedia (-2016). Signal. Axolotl. Double Ratchet Algorithm.
- Whispersystems (-2016). Advanced cryptographic ratcheting.
- Tilman Frosch, Christian Mainka, Christoph Bader, Florian Bergsma, Jörg Schwenk & Thorsten Holz (2014). How Secure is TextSecure?
- WhatsApp Inc. (4 April 2016). WhatsApp Encryption Overview. Technical white paper.
Literature on EMV
- Wikipedia (-2016). EMV (en). EMV (de).
- EMVCo (-2011). EMV v4.3. [This includes the four books.]
- Paysmart (2013). A guide to EMV. (PDF)
- EMV USA (2011). FAQ: Card not present.
- EMV Connection (-2016). FAQ.
- Gemalto (-2016). EMV.
- Murdoch, Drimer, Anderson & Bond (2010). Chip and PIN is Broken. (PDF)
Prerequisites
Basic knowledge in cryptography is needed, as for example the course Cryptography held in the previous winter. Compare our programme.
Mailinglist
We will put each member on the mailing list . You can also subscribe yourself. The list is intented for all participants of the course as a platform for discussions around the topic. Furthermore, announcements regarding the course are made here.
Allocation
4+2 SWS.
- Master in Media Informatics: Computer and Communication Technology.
8 ECTS credits.
Optionally, 3+2 SWS, 6 ECTS credits. On request a breakpoint at about 3/4 of the teaching time will be defined, and only the course material up to that point will be relevant for their exams and grades. - Master in Computer Science at University of Bonn: MA-INF 1312.
9 CP.
Students have to register this course with POS/BASIS. - Recommendation for diploma students of University of Bonn - Computer Science: A or A1, respectively.