Homework #2 (18p)
Deadline: 8th of November (the solution has to be submitted before Monday)
Written tasks
Recommended reading / tools
PKC, PKI and HTTPS
- Hashing
- Briefly describe in your own words the functionality / behavior of a hash function. The answer should not be longer than 3 sentences. (1p)
- What are the two main differences between encryption and hashing? The answer must be formatted as a list. This question can have multiple correct answers. (1p)
- Find the public key of https://www.eesti.ee. It can be found with the help of a web browser. Save the public key (not the whole certificate) to a text file (.txt) and upload it to a submission form that is at the end of this website. The solution is checked automatically and thus submissions that are formatted in a wrong way will get 0 points. Make sure that the corresponding certificate is signed by DigiCert as it might be possible that your antivirus software is replacing the certificates in real time to scan the TLS traffic. In case the answer and the certificate issuer is wrong, the submission will be automatically given 0 points. In case the certificate issuer is not DigiCert use a different browser or a different device to find the public key. Hint: the public key ends with the following symbols: 89 60 04 C4 01 11. In addition, some browsers may display an addition suffix in the form of 02 03 01 00 01. (1p)
- Read the following article: HTTPS Certificate Revocation is broken, and it’s time for some new tools. Answer the following questions:
- Why would a certificate owner want to revoke a valid certificate? Name at least two common reasons. (1p)
- Why are certificate revocation lists not guaranteed to work in practice? (1p)
- Online Certificate Status Protocol has also some issues, list them. (1p)
- Find an Estonian website, which uses HTTPS but has not configured it perfectly. The TLS configuration can be checked with the help of https://www.ssllabs.com/ssltest. I will accept solutions that show a website with a grade B or worse. You can speed up the testing by opening multiple browser tabs.
- Submit a screenshot from https://www.ssllabs.com/ssltest, where both the tested URL and the grade can be seen. Cut the irrelevant information from the screenshot. The screenshot has to be submitted in the format of a picture (e.g., png, jpg). Do not paste the screenshot into a .docx file. I will not open .docx files or any other exotic file format while grading this solution. The file has to be submitted through the submission form that is located in the end of this page. (1p)
- Find the requested information about the certificate of https://www.ut.ee. The answer has to be strictly formatted according to the instructions as some of the subtasks are graded automatically. Write the answer into a regular text file (.txt, not .docx). Answer the questions in the same order as they are presented. You may use one line per answer. Thus, the solution file must have exactly for rows (lines). The solution file has to be submitted separately to the corresponding submission form that can be found in the end of the page.
- Who issued the certificate for www.ut.ee? (0.5p)
- Which hash function was used to sign the certificate? (0.5p)
- Which cryptosystem (signature algorithm) was used to sign the certificate? (0.5p)
- When does the certificate expire? Write the answer in the following format: day.month.year. For example, 20.10.2020.
Lab tasks: PGP & Signal
- Send your lab supervisor an encrypted and signed e-mail using PGP/GPG. It should be a single mail message, signed and encrypted at the same time. (3p)
- If you already completed this task in the lab session than you do not have to do it again.
- Upload your public key to the key server
infsec.cs.ut.ee
- To encrypt, use the public key with the given ID. The ID is published in the lab notes.
- Be sure to include your name in the mail message itself, otherwise there is nothing to sign or encrypt.
- Choose and solve one of the following two tasks:
- Use Signal to send end-to-end encrypted message to our test account. Send a hello message in Signal to the following number: +372 five three seven six zero nine four two. The message must contain either your name or pseudonym from this course as otherwise it is not possible to assign points. Information and more specific instructions about Signal can be found from the lab notes. (2p)
- Signal protocol is considered cryptographically secure but there are still ways to break the privacy of the sent messages. One trivial way is to hack the corresponding phone to get access before the message is even encrypted (this applies to any communication device / tool / software). It may also be possible to attack the method, which connects identities to the encryption keys. Read the following text and based on that explain briefly how the message privacy of Signal messages could be attacked and what is needed for that attack. (2p)
Smartcards, Mobile-ID and e-voting
- In an opinion story Otto de Voogd wrote about the possibility of the state having access to the secret keys on the Estonian ID-card. As a response to the opinion Agu Kivimägi wrote how private keys are generated. Name two main reasons why the Estonian government can not access / know the secret key that is on your ID-card. The identified ID-card vulnerabilities are out of scope of this question. The answer must be formatted as a list. (1p)
- Since the spring of 2017 it is possible to find collisions for SHA-1. Currently it is no longer possible to use SHA-1 for issuing legally binding digital signatures. However, does this finding affect the signatures that were given before 2017? Hint: check the security requirements for cryptographic hash functions. Give answers to the following questions.
- Is it now possible to forge digital signatures that were issued in 2010 with SHA-1? You will have to write the reasoning with your own words. (1p)
- What should one do now in order to prevent legal disputes over future forgeries of digital signatures that were previously given using SHA-1? E.g., assume that you signed a contract in 2010 by using SHA-1 and the same contract should be valid for the next 30 years. What would you have to do with the existing digitally signed contract to prevent legal disputes in the future regarding the authenticity of the contract in case someone will be able to forge the signature in the future? The signature has to be in a digital format due to the business model and it is not possible to get a written confirmation by a third party about the validity of the signature. You will have to provide reasoning! (1p)
- Is it now possible to forge digital signatures that were issued in 2010 with SHA-1? You will have to write the reasoning with your own words. (1p)
Blockchain
- Briefly list two security related advantages of BitCoin compared to regular payment systems. Similarly, list two security related disadvantages of Bitcoin compared to regular payment systems. The answer must be formatted as a list or as a table. (1p)
Submission form for the written tasks
The solution has to be submitted through this website. The solution can be submitted once you have logged in with the university credentials. We accept solutions only in .pdf format if it is not stated otherwise in the homework task. The solutions of the practical tasks have to submitted separately to their corresponding input forms (see below).
We would like to get feedback about the difficulty of the homework and therefore we would kindly ask you to write in the comments box an estimate of how much time it took to solve the homework tasks.
6. Homework 2 - written tasks (PDF)Submission form for the public key task
Find the public key of https://www.eesti.ee. It can be found with the help of a web browser. Save the public key (not the whole certificate) to a text file (.txt) and upload it to a submission form that is at the end of this website. The solution is checked automatically and thus submissions that are formatted in a wrong way will get 0 points. Make sure that the corresponding certificate is signed by DigiCert as it might be possible that your antivirus software is replacing the certificates in real time to scan the TLS traffic. In case the answer and the certificate issuer is wrong, the submission will be automatically given 0 points. In case the certificate issuer is not DigiCert use a different browser or a different device to find the public key. Hint: the public key ends with the following symbols: 89 60 04 C4 01 11. (1p)
5. Homework2: public key (.txt file)Submission form for the certificate information task
Find the requested information about the certificate of https://www.ut.ee. The answer has to be strictly formatted according to the instructions as some of the subtasks are graded automatically. Write the answer into a regular text file (.txt, not .docx). Answer the questions in the same order as they are presented. You may use one line per answer. Thus, the solution file must have exactly for rows (lines). The solution file has to be submitted through the form below.
- Who issued the certificate for www.ut.ee? (0.5p)
- Which hash function was used to sign the certificate? (0.5p)
- Which cryptosystem (signature algorithm) was used to sign the certificate? (0.5p)
- When does the certificate expire? Write the answer in the following format: day.month.year. For example, 20.10.2020.
TLS configuration
Find an Estonian website, which uses HTTPS but has not configured it perfectly. The TLS configuration can be checked with the help of https://www.ssllabs.com/ssltest. I will accept solutions that show a website with a grade B or worse. You can speed up the testing by opening multiple browser tabs.
- Submit a screenshot from https://www.ssllabs.com/ssltest, where both the tested URL and the grade can be seen. Cut the irrelevant information from the screenshot. The screenshot has to be submitted in the format of a picture (e.g., png, jpg). Do not paste the screenshot into a .docx file. I will not open .docx files or any other exotic file format while grading this solution. The file has to be submitted through the submission form that is located in the end of this page. (1p)