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]