Lista 3.

Transkrypt

Lista 3.
Sieci komputerowe — ćwiczenia
dr inŜ. Krzysztof Urbański
Lista 3.
Skróty:
VNC – Virtual Network Computing, TS, RD – Terminal Services, Remote Desktop, SSH – Secure Shell
RSA – Rivest, Shamir, Adleman (nazwiska „ojców” algorytmu)
MD5 – Message-Digest algorithm 5, SHA – Secure Hash Algorithm
Bezpieczeństwo, zdalny dostęp, podpisy cyfrowe…
1. Omów najwaŜniejsze róŜnice w bezpieczeństwie oferowanym przez VNC oraz TS/RD.
2. Porównaj SSH, VNC i TS pod względem wymaganej przepustowości sieci.
3. Zaproponuj sposób zaszyfrowania całej transmisji w protokole VNC tak, aby nie było
konieczne ponowne skompilowanie oprogramowania VNC.
4. Przedstaw zasadę działania autoryzacji klienta z uŜyciem kryptografii asymetrycznej.
5. Przedstaw zasadę działania autoryzacji servera z uŜyciem kryptografii asymetrycznej.
6. Które z protokołów (SSH, VNC, TS) umoŜliwiają autoryzację klienta? A które autoryzację
serwera?
7. Jak moŜna przeprowadzić autoryzację klienta bez uŜycia kryptografii asymetrycznej,
mając do dyspozycji tylko funkcję skrótu?
8. Czy moŜliwa jest obustronna autoryzacja z uŜyciem wyłącznie funkcji skrótu? Zaproponuj
scenariusze takich autoryzacji i przeanalizuj je pod kątem bezpieczeństwa.
9. Omów przebieg potwierdzenia autentyczności strony banku, odwiedzanej po raz pierwszy,
z wykorzystaniem Certyfikatu Głównego. Czy moŜna zaufać takiej stronie, jeśli nie
posiadamy klucza publicznego serwera?
10. Zilustruj przebieg procesu podpisywania cyfrowego wiadomości e-mail z uŜyciem
certyfikatu.
11. Zilustruj przebieg procesu szyfrowania wiadomości e-mail z uŜyciem certyfikatu.
12. Co oznacza sformułowanie „faktoryzacja liczby całkowitej”?
Programowanie sieciowe
1. Jakie ograniczenia są nakładane na aplety Java jeśli chodzi o komunikację sieciową?
Wymień 2 najwaŜniejsze.
2. Czy programy CGI są wykonywane przez serwer czy przez komputer kliencki?
3. Czy aplety Java są wykonywane przez serwer czy przez komputer kliencki?
4. Czy programy JavaScript są wykonywane przez serwer czy przez komputer kliencki?
5. W jaki sposób w programach CGI ustalany jest format przesyłanych danych (np. obraz, plik
tekstowy, …)?
6. Czym zajmuje się Wirtualna Maszyna Javy (JVM)?
7. Jakie korzyści daje stosowanie arkuszy stylów (CSS, CSS2)?
8. W jaki sposób moŜna tworzyć dynamiczne strony HTML do przeglądania w trybie off-line?
9. Co oznacza skrót DOM (w kontekście dynamicznego HTML)?
10. Podaj przykłady naruszenia bezpieczeństwa systemu ze źle skonfigurowanym PHP (tzn.
skonfigurowanym domyślnie☺).
11. Jakie skutki moŜe mieć przekazanie danych wprost z PHP do zapytania SQL?
12. Jakie katastrofy mogą spotkać system, który umoŜliwia wykonanie CGI?
13. Czy wszystkie odnośniki podane na 4. wykładzie działają i czy rzeczywiście warto było je
odwiedzić? [pytanie podchwytliwe]