Заштита података/Јун 2023
Ispit u junskom roku 2023. održan je 16. juna. Održan je u dva termina (jedan SI, jedan RTI). Na RTI bilo je dostupno okruženje PyCharm kao i dokumentacija za Python. Ispit na RTI trajao je 90 minuta, a na SI sat vremena.
SI G1
1. zadatak
Koji od navedenih kriptografskih algoritama će moći da se koriste i nakon široke dostupnosti kvantnih računara?
- RSA
- DSS
- XMSS - extended Merkle Signature Scheme
- Lamport Diffie
- Diffie-Hellman
- AES
- SPHINCS+
2. zadatak
Potrebno je obezbediti zaštitu transfera veb sadržaja između veb servera A i veb klijenta B koji se nalaze povezani na internet. Ono što je neophodno obezbediti je da strana koja prima poruke u svakom trenutku bude sigurna da podatke koji se prenose niko nije promenio niti pročitao tokom prenosa, kao i sa koje tačno IP adrese su paketi došli. Pri tome potrebno je obezbediti minimalno opterećenje, kako procesora, tako i mrežne veze veb servera. Protokol koji zadovoljava sve prethodno postavljene kriterijume je:
- AH u transportnom režimu rada
- ESP u tunel režimu rada
- IKE
- TLS
- AH u tunel režimu rada
- QUIC
- ESP u transportnom režimu rada
3. zadatak
Na slici je dat prvi deo Kerberos v4 autentikacije:
Elementi koji nedostaju u Tickettgs (ne i u poruci (2)) su:
- identifikator servera AS
- identifikator TGS
- identifikator klijenta C
- IP adresa servera V
- IP adresa klijenta C
- IP adresa servera AS
- ključ kojim komuniciraju klijent i autentikacioni server AS
- ključ kojim komuniciraju klijent i server V
- identifikator servera V
- ključ kojim komuniciraju klijent i TGS
4. zadatak
U AMD SEV lancu sertifikata par ključeva koji je jedinstven za svaki čip je:
- PEK
- ASK
- ARK
- CEK
- PDH
- OCA
Objašnjenje: Ovaj ključ, zvani Chip Endorsement Key, pravi proizvođač čipa (AMD) i potpisuje svojim ključem (ASK).
5. zadatak
Ključ(evi) koji se slučajno generišu u AMD SEV sigurnoj komunikaciji između klijenta i servera je/su:
- TEK
- TIK
- KEK
- KIK
- VEK
6. zadatak
- Nikola je primetio da i kada ugasi pretraživač i mejl servis, količina saobraćaja prema njegovom računaru ostaje izraženo povišena. Radi se o tipu malicioznog softvera koji se naziva flooder.
- Tip propusta koji se nalazi u sledećem kodu naziva se zadnja vrata.
if password = "aUtH h4ck3r" then login = USER_OK
else if correct_login(user, password) then login = USER_OK
else login = USER_FAILED
if login == USER_OK then login()
7. zadatak
Šta se sve nalazi u strukturi RecipientInfo prilikom slanja S/MIME poruke tipa obmotani podaci? Ukoliko se broj primalaca poveća, da li se i kako menja broj ovih struktura? Obrazložiti.
Odgovor:
Blok o primaocu sadrži sledeće podatke:
- identifikator sertifikata javnog ključa primaoca,
- identifikatori algoritama korišćenih da se šifruje ključ sesije i sadržaj poruke, i
- šifrovani ključ sesije.
Ukoliko se broj primalaca poveća, potrebno je dodati još ovih blokova, jer svaki primalac ima različit javni ključ pa se sa svakim uspostavlja različit ključ sesije.
8. zadatak
Sledeći algoritmi omogućavaju dobijanje različitih kriptografskih ključeva u svakoj TLS razmeni i to takvih da je moguća verifikacija porekla ključeva.
- RSA
- Ephemeral Diffie Hellman
- Anonymous Diffie Hellman
- Fixed Diffie Hellman
Ovom porukom se predlažu kriptografski algoritmi koji će biti korišćeni u toku TLS sesije:
- Server Hello
- Server Hello Done
- Client Hello Done
- Certificate Verify
- Certificate Request
- Finished
- Client Key Exchange
- Client Hello
- Change Cipher Specification
9. zadatak
Prikazano je zaglavlje jednog bloka transakcija na bitcoin blokčejnu. Ako prikazani hash odslikava zahtevanu težinu problema potvrde bloka, koliko je prosečno potrebno različitih Nonce vrednosti da bude isprobano dok se ne dobije odgovarajuća potvrda transakcije? Smatrati da je raspodela hash funkcije uniformna. Odgovor dati u obliku 2^n.
- Number Of Transactions: 1502
- Transaction Volume: 316.33241479 BTC
- Transaction Fees: 0.06640796 BTC
- Height: 685698
- Time: 2021-05-31 22:38:48
- Bits: 386752379
- Size: 896,885(bytes)
- Version: 536870916
- Nonce: 432023578
- Block Reward: 6.25 BTC
- Days Destroyed: 6,678
- Hash: 000000000000000000027e3d890d8487f45f409c6b9e3a1321a82577f00d5126
Odgovor: 2^78
Objašnjenje: Videti objašnjenje za deveti zadatak iz G2.
SI G2
1. zadatak
Koji od navedenih algoritama mogu da daju ispravne digitalne potpise koji mogu da imaju različite vrednosti za istu poruku potpisanu istim ključem?
- Lamport Diffie
- DSS
- ElGamal
- Winternitz
- RSA PSS
2. zadatak
Potrebno je obezbediti zaštitu transfera veb sadržaja između veb servera A i veb klijenta B koji se nalaze povezani na internet. Ono što je neophodno obezbediti je da strana koja prima poruke u svakom trenutku bude sigurna da podatke koji se prenose niko nije promenio tokom prenosa, kao i sa koje tačno IP adrese su paketi došli. Pri tome potrebno je obezbediti minimalno opterećenje, kako procesora, tako i mrežne veze veb servera. Protokol koji zadovoljava sve prethodno postavljene kriterijume je:
- AH u transportnom režimu rada
- ESP u tunel režimu rada
- IKE
- TLS
- AH u tunel režimu rada
- QUIC
- ESP u transportnom režimu rada
Objašnjenje: Authentication Header nam obezbeđuje samo autentičnost podataka, što je nama ovde potrebno, kao i zaštitu nepromenljivih polja IP zaglavlja (iako je na snimcima predavanja možda rečeno da se IP adrese mogu menjati, ovaj odgovor je bio označen kao tačan). Kako se podaci prenose između jednog servera i klijenta, i kako je potrebno obezbediti minimalno opterećenje, dovoljno je da u ovom slučaju koristimo transportni režim rada.
3. zadatak
Na slici je data Kerberos v4 autentikacija. Sledeći stavovi su tačni:
- Vreme služi za to da spreči Replay napad tokom vremena trajanja tiketa
- Vreme služi za to da spreči Replay napad tokom vremena trajanja tiketa
- Vreme služi za to da spreči Replay napad tokom vremena trajanja tiketa
- Ključ je javni ključ TGS
- Ključ je privatni ključ TGS
- Ključ je ključ TGS koji dele TGS i AS
Objašnjenje: sprečava napadača da ponovi poruku 3 kako bi obnovio dok traje . Ključ ne može biti privatni ključ TGS jer ga mora posedovati i AS, a kako Kerberos koristi samo simetričnu enkripciju znači da nisu uključeni javni i privatni ključevi u komunikaciji. mora biti duži od kako bi klijent mogao više puta da obnovi tokom trajanja .
4. zadatak
U AMD SEV lancu sertifikata par ključeva koji je jedini dvostruko potpisan je:
- PEK
- ASK
- ARK
- CEK
- PDH
- OCA
Objašnjenje: Ovaj ključ je potpisan od strane OCA (ključ vlasnika platforme) i CEK (ključ proizvođača čipa).
5. zadatak
Ključ(evi) koji se ne koristi/koriste u AMD SEV sigurnoj komunikaciji između klijenta i servera je/su:
- TIK
- KIK
- KEK
- TEK
- VEK
6. zadatak
- Marko je pronašao novu interesantnu igricu za svoj telefon. Pretražujući internet, Marko je pronašao sajt sa kojeg može da preuzme igricu besplatno. Kada je Marko preuzeo i instalirao igricu, aplikacija je od Marka tražila dozvolu za korišćenje nekoliko funkcionalnosti telefona. Neke od traženih dozvola su: "Pristup kontaktima telefona" i "Slanje SMS poruka". Kojim tipom malvera je zaražena igrica? spamer
- Koji tip malvera predstavlja sledeći fragment koda? logička bomba
if datum is Friday the 13th:
crash_computer();
7. zadatak
Sledeći algoritmi ne omogućavaju verifikaciju porekla ključeva.
- Anonymous Diffie Hellman
- RSA
- Ephemeral Diffie Hellman
- Fixed Diffie Hellman
Objašnjenje: Anonymous Diffie Hellman je osnovna varijanta Diffie-Hellman algoritma gde obe strane nemaju način da verifikuju javne ključeve druge strane pa je zato podložna man-in-the-middle napadu.
Ovom porukom se potvrđuju kriptografski algoritmi koji će biti korišćeni u toku TLS sesije:
- Client Hello Done
- Certificate Request
- Change Cipher Specification
- Server Hello
- Finished
- Server Hello Done
- Client Hello
- Certificate Verify
- Client Key Exchange
Objašnjenje: Kada klijent uspostavlja komunikaciju, u svojoj Client Hello poruci šalje predloge algoritama za korišćenje u sesiji, dok server te algoritme potvrđuje svojom prvom porukom odgoovra, odnosno Server Hello.
8. zadatak
Kada formiramo SMIME potpisane podatke, šta sve treba da sadrži blok o pošiljaocu (signer info)? Da li broj ovih blokova zavisi od broja primalaca ili ne? Obrazložiti.
Odgovor:
Blok o pošiljaocu treba da sadrži:
- sertifikat javnog ključa potpisivača,
- identifikatore algoritama za kreiranje i šifrovanje potpisa poruke, i
- šifrovanog potpisa poruke.
Nije neophodno praviti više ovakvih blokova za svakog primaoca, jer se podaci u njemu ne razlikuju u zavisnosti od primaoca.
9. zadatak
Prikazano je zaglavlje jednog bloka transakcija na bitcoin blokčejnu. Ako prikazani hash odslikava zahtevanu težinu problema potvrde bloka, koliko je prosečno potrebno različitih Nonce vrednosti da bude isprobano dok se ne dobije odgovarajuća potvrda transakcije? Smatrati da je raspodela hash funkcije uniformna. Odgovor dati u obliku 2^n.
- Number Of Transactions: 1502
- Transaction Volume: 316.33241479 BTC
- Transaction Fees: 0.06640796 BTC
- Height: 685698
- Time: 2021-05-31 22:38:48
- Bits: 386752379
- Size: 896,885(bytes)
- Version: 536870916
- Nonce: 432023578
- Block Reward: 6.25 BTC
- Days Destroyed: 6,678
- Hash: 00000000000000000007ab43dfc1a8f73101f5fa2cd85dea59cdaf8f8d858351
Odgovor: 2^77
Objašnjenje: Broj 00000000000000000007ab43dfc1a8f73101f5fa2cd85dea59cdaf8f8d858351 u binarnoj reprezentaciji ima 77 nula na početku. Priznavan je takođe bio i odgovor 276, jer se u zadatku tražio prosečan broj različitih Nonce vrednosti. Odgovori 219 i 218 bili su priznavani sa polovinom bodova.
RTI
1. zadatak
- Ovaj zadatak nije potpun. Ukoliko se sećate tačnih brojeva, možete ga upotpuniti.
[5 poena] Isto zadatak kao i na četvrtom izazovu, samo drugačiji potpis. (Verifikacija El Gamal potpisa)
2. zadatak
[0 poena] Predaja koda korišćenog za rešavanje prvog zadatka.
3. zadatak
[3 poena] Šta je od navedenog tačno za eXtended Merkle Signature Scheme?
- Manji ključ od RSA
- Veći ključ od RSA
- Mora da pamti stanje
- Ne mora da pamti stanje
- Može da potpisuje više dokumenata
- Ne može da potpisuje više dokumenata
4. zadatak
[3 poena] Isti zadatak kao i 4. zadatak iz juna 2022.
5. zadatak
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
[5 poena] Dat je digitalni sertifikat sličan onom iz 2. zadatka iz juna 2022.. Potrebno je objasniti precizno šta se sve i na koji način treba obaviti kako bi browser mogao da verifikuje sertifikat.
6. zadatak
[4 poena] Isti zadatak kao i 6. zadatak iz avgusta 2021.
7. zadatak
[2 poena] Koji ključ povezuje vlasnika platforme i proizvođača hardvera u AMD-SEV lancu sertifikata?
- ARK
- ASK
- CEK
- OCA
- PEK
- PDH
8. zadatak
[3 poena] Koji od navedenih sertifikata se generišu na osnovu glavne tajne?
- VEK
- TIK
- KIK
- TEK
- KEK
9. zadatak
[5 poena]
- Dat je deo šeme PGP protokola. Ova šema obezbeđuje autentikaciju. (Netačan odgovor donosi -1 poen, odgovor ne znam donosi 0 poena)
Neka je pošiljalac X, a primalac Y.
- Deo 1 je zapravo lozinka.
- Deo 2 je zapravo Enkriptovan(PRx).
- Deo 3 je zapravo ID(PUx).
- Deo 4 je zapravo PRx.
10. zadatak
[3 poena] Greškom došao Chacha, to je kolokvijumsko gradivo.
11. zadatak
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
[5 poena] Precizno objasniti kako se autentikuje klijent od strane servera ako ima autentikacije kod TLS Handshake protokola.
12. zadatak
[3 poena]
- GCM za tajnost koristi Counter.
- GCM za autentikaciju koristi CBC.
- Kod GCM u procesu dešifrovanja primenjuje se enkripcioni algoritam.
13. zadatak
[4 poena] Isti zadatak kao i 4. zadatak iz juna 2022.