• Nie Znaleziono Wyników

Algorytmy szyfrujące stosowane w protokole HTTPS 72

W dokumencie Technologie informacyjne (Stron 74-82)

4.5 Bezpieczeństwo danych przesyłanych protokołem HTTP

4.5.1 Algorytmy szyfrujące stosowane w protokole HTTPS 72

zastosowania ich w bezpiecznym przesyłaniu zawartości stron WWW. Infor-macje związane z szyfrowaniem można też znaleźć w rozdziale poświęconym poczcie elektronicznej. Część z tych wiadomości zostanie tu powtórzona, aby umożliwić natychmiastowe zrozumienie opisywanych mechanizmów.

Szyfrowanie symetryczne

Szyfrowanie z użyciem algorytmu symetrycznego ma poważną wadę – musi istnieć niepodważalnie bezpieczny kanał dostarczenia klucza koresponden-towi. Można to łatwo zrobić np. spotykając się i przekazując klucz osobiście.

Problem występuje, jeśli korespondent jest zbyt oddalony, aby możliwy był osobisty kontakt.

• Polega na użyciu tylko jednego klucza

• Ten sam klucz musi być w posiadaniu nadawcy i odbiorcy – nim się szyfruje i deszyfruje wiadomości

• Istnieje poważny problem z przekazywaniem klucza

Szyfrowanie niesymetryczne

Wiadomość zaszyfrowana kluczem prywatnym może być odszyfrowana je-dynie odpowiadającym mu kluczem publicznym. I analogicznie, wiadomość zaszyfrowana kluczem publicznym, może być odszyfrowana tylko odpowia-dającym mu kluczem prywatnym. Jeśli chcemy zaszyfrować wiadomość do naszego korespondenta, musi on przysłać nam swój klucz publiczny. Klucz nie musi być jednak przekazany w bezpieczny sposób. Jeśli ktoś przechwyci klucz publiczny nie będzie mógł odszyfrować wiadomości nim zaszyfrowa-nych.

• Polega na użyciu pary kluczy – klucz publiczny

– klucz prywatny

• Należy chronić jedynie klucz prywatny

• Można upublicznić klucz publiczny

• Nie posiada wady algorytmu symetrycznego

Podpisywanie wiadomości

Stosowane tu określenie podpis elektroniczny nie jest podpisem elektro-nicznym zgodnym z obowiązującym prawem. Odpowiednia ustawa mówi, że do składania podpisu, należy używać m.in. karty mikroprocesorowej, na której znajdują się klucze. Więcej informacji można znaleźć np. na http://www.certum.pl.

• Korespondenci wymieniają się kluczami publicznymi

• Nadawca podpisuje wiadomość dla odbiorcy swoim kluczem prywat-nym

• Odbiorca weryfikuje podpis za pomocą klucza publicznego nadawcy

Podpisywanie wiadomości przebiega w następujący sposób:

• Tworzony jest tzw. skrót wiadomości, która ma być podpisana. Należy wyjaśnić, iż skrót jest generowany w taki sposób, aby był unikalny dla danej wiadomości. Dba o to oprogramowanie szyfrujące

• Skrót jest następnie szyfrowany kluczem prywatnym twórcy wiado-mości i załączany do oryginalnej wiadowiado-mości

• Wiadomość oraz jej zaszyfrowany skrót (który jest właśnie podpisem elektronicznym) są przesyłane do odbiorcy

Weryfikowanie podpisu odbywa się w następujący sposób:

• Tworzony jest skrót odebranej wiadomości

• Skrót otrzymany od nadawcy jest odszyfrowywany kluczem publicz-nym nadawcy (odbiorca musi ten klucz posiadać)

• Jeśli dało się odszyfrować skrót przysłany przez nadawcę jego kluczem publicznym, to oznacza, że nadawca zaszyfrował skrót swoim kluczem prywatnym, więc można mieć pewność, że to nadawca jest faktycznym autorem wiadomości. Tylko nadawca ma dostęp do swojego klucza prywatnego, czyli to nadawca złożył podpis

• Jeśli odszyfrowany skrót, jest taki sam jak utworzony skrót, to do-datkowo istnieje pewność, że wiadomość nie została po drodze do odbiorcy zmodyfikowana. Pamiętamy przecież, że skrót jest unikalny dla danej wiadomości

Szyfrowanie wiadomości

Podpis elektroniczny oprócz tego, że pozwala stwierdzić autentyczność prze-kazu, dodatkowo zapewnia mechanizm wykrywania potencjalnych modyfi-kacji wiadomości. Szyfrowanie dodatkowo zapobiega nieautoryzowanemu odczytaniu treści wiadomości.

• Korespondenci wymieniają się kluczami publicznymi

• Nadawca szyfruje wiadomość dla odbiorcy kluczem publicznym od-biorcy

• Tylko odbiorca może ją odczytać, gdyż tylko on ma swój klucz pry-watny

Przebieg procesu szyfrowania w protokole HTTPS

• Klient zgłasza chęć użycia szyfrowania serwerowi

• Serwer wysyła klientowi tzw. certyfikat, który zawiera klucz publiczny serwera

• Klient generuje klucz sesji i szyfruje go kluczem publicznym serwera, następnie przesyła do serwera

• Dalszy ciąg komunikacji odbywa się przez kanał szyfrowany kluczem sesji (ale już z użyciem algorytmu symetrycznego, jest on szybszy od asymetrycznego)

Problem ustalenia autentyczności serwera

• Serwer A przesyła klientowi (przeglądarce) certyfikat zawierający klucz publiczny

• Skąd wiemy, że to jest certyfikat prawdziwego serwera ?

• Przeglądarka potrafi sprawdzić autentyczność certyfikatu serwera

• Używa do tego mechanizmu podpisu elektronicznego

Można sobie wyobrazić następującą sytuację: Ktoś podszył się pod ser-wer banku. Użytkownicy nie łączą się już z prawdziwym serser-werem banku, tylko z serwerem imitującym. Serwer imitujący zbiera wszelkie treści (np.

identyfikatory i hasła) przekazywane przez użytkowników, którzy myślą, że wyświetlili stronę WWW banku. Informacje zebrane w ten sposób mogą posłużyć osobie, która uruchomiła „podstawiony” serwer do skorzystania z kont użytkowników na prawdziwej stronie WWW banku.

Istnieje jednak mechanizm, który pozwala na sprawdzenie autentyczności certyfikatu. Certyfikaty są podpisywane, a przeglądarka jest w stanie zwe-ryfikować podpis na certyfikacie serwera.

Certyfikat serwera zostaje podpisany kluczem prywatnym organizacji CA (ang. Certification Authority). CA jest to jednostka, która zanim podpisze certyfikat serwera sprawdza tożsamość osób za niego odpowiadających.

Przeglądarka może zweryfikować podpis na certyfikacie serwera za pomo-cą klucza publicznego organizacji CA. Cały ten proces przebiega w spo-sób zgodny z opisanym wcześniej mechanizmem podpisu elektronicznego.

Przeglądarka posiada klucze publiczne wielu zaufanych CA (a dokładnie certyfikaty CA zawierające klucze publiczne CA). Jeśli przeglądarka otrzy-ma certyfikat i nie może zweryfikować podpisu na nim, wyświetla stosowne ostrzeżenie

4.5.2 Używanie protokołu HTTPS w przeglądarce Firefox Włączanie protokołu HTTPS w przeglądarce

Aby korzystać z protokołu HTTPS należy włączyć w przeglądarce obsługę SSL:

menu NarzędziaIOpcje IZaawansowane ISzyfrowanie

HTTPS korzysta z mechanizmu SSL/TLS. SSL (ang. Secure Socket Layer) implementuje algorytmy kryptografii opisane wcześniej. TLS (ang. Trans-port Layer Security) jest następcą SSL, jednak nie wszystkie witryny ob-sługują TLS. W przeglądarce Firefox SSL/TLS jest włączony standardowo, więc nie musimy nic modyfikować. Gdy uzyskaliśmy połączenie szyfrowane z jakąś witryną, to pasek adresu ma kolor żółty i jest wyświetlany symbol kłódki.

Certyfikaty znanych CA

Dostęp do certyfikatów znanych CA jest możliwy za pomocą menadżera certyfikatów:

menu NarzędziaIOpcje IZaawansowane ISzyfrowanie

Wyświetl certyfikaty IOrgany certyfikacji

Problemy ze sprawdzeniem podpisu

Przglądarka otrzymała od serwera certyfikat

• certyfikat jest podpisany kluczem prywatnym nieznanego przegladar-ce CA

• przeglądarka wyświetla ostrzeżenie

W przypadku stronyhttps://www.mimuw.edu.plna serwerze jest używany certyfikat podpisany kluczem prywatnym utworzonym na Wydziale MI-MUW. Tym samym Wydział MIMUW stworzył własne CA do podpisy-wania certyfikatów. Klucz publiczny tego CA (zawarty w certyfikacie CA MIMUW) można pobrać ze strony

http://www.mimuw.edu.pl/pomoc/CAcert.pem

i dodać do certyfikatów CA przeglądarki, która będzie wtedy mogła weryfi-kować podpis na certyfikacie serwera WWW MIMUW i ostrzeżenie się nie pojawi.

Takie CA jednak nie cieszy się powszechnym zaufaniem, ponieważ przeglą-darki standardowo nie posiadają klucza publicznego CA MIMUW. Dlatego, jeśli certyfikat CA MIMUW nie został dodany, w przeglądarce zawsze po-jawi się ostrzeżenie.

W tym przypadku nie została podjęta decyzja o podpisie certyfikatu ser-wera https://www.mimuw.edu.pl za pomocą klucza prywatnego zaufanego CA (np. www.certum.pl) ze względów ekonomicznych. W przypadku insty-tucji np. finansowych certyfikaty zawsze są podpisywane przez znane CA i przedstawione ostrzeżenie nigdy nie powinno się pojawić. Gdyby jednak tak się stało, to mamy powody przypuszczać, że ktoś podszywa się pod serwer np. banku. Należy wtedy natychmiast przerwać połączenie z witryną (opcja Odrzuć ten certyfikat i przerwij połączenie z tą witryną) i skontaktować się z bankiem podając treść ostrzeżenia.

W przypadku stronyhttps://www.mimuw.edu.plmoglibyśmy po prostu za-akceptować certyfikat, ponieważ nie ponosimy tu wielkiego ryzyka nawet w przypadku, gdyby serwer nie okazał się autentyczny. Trzeba by więc za-znaczyć opcję Zaakceptuj ten certyfikat na stałe. Jeśli certyfikat zostanie zaakceptowany, będzie on zapisany na dysku naszego komputera i uzna-wany przez przeglądarkę za zaufany. Mimo tego, że nie jest odpowiednio podpisany, okienko z ostrzeżeniem nie będzie się pojawiać. Pamiętajmy, że podczas połączenia z bankiem, ostrzeżenie i pytanie o chęć zaakceptowania certyfikatu w ogóle nie może się ukazać. Dla pewności, najlepiej nigdy nie korzystać z opcji Zaakceptuj ten certyfikat na stałe. Jeśli już musimy połą-czyć się ze stroną, w przypadku której przeglądarka sygnalizuje problem z certyfikatem, ale stronie tej ufamy, lepiej użyć opcji Zaakceptuj ten certy-fikat tymczasowo, na okres trwania bieżącej sesji. Wtedy przy ponownym połączeniu, znów zostaniemy poinformowani o kłopotach z certyfikatem.

W przypadku witryny https://www.mimuw.edu.pl, lepszym sposobem od akceptowania certyfikatu jest wspomniane wcześniej pobranie certyfikatu CA MIMUW ze strony i dodanie go do znanych przeglądarce certyfikatów CA. Przeglądarka uzna certyfikat MIMUW za poprawny, bo będzie miała

dostęp do klucza publicznego, który jest zawarty w certyfikacie CA MI-MUW i będzie mogła sprawdzić podpis na certyfikacie MIMI-MUW za pomocą tego klucza. Jest to dużo bezpieczniejsze, niż kliknięcie Zaakceptuj ten cer-tyfikat na stałe, bo opiera się na bardziej świadomym działaniu. Oczywiście w przypadku połączeń z bankiem nigdy nie możemy i nie powinniśmy być proszeni o wykonanie opisanych kroków. Jeśli jest inaczej – niech wzbudzi to nasze podejrzenia!

Zawsze przerywajmy połączenie i kontaktujmy się z bankiem, gdy prze-glądarka wyświetli nam jakikolwiek komunikat związany z certyfikatami.

Pod żadnym pozorem nie używajmy wtedy opcji Zaakceptuj ten certyfikat na stałe, ani też Zaakceptuj ten certyfikat tymczasowo, na okres trwania

bieżącej sesji. W przypadku użycia opcji

Zaakceptuj ten certyfikat na stałe korzystalibyśmy z fałszywego serwera na-wet wielokrotnie, nic o tym nie wiedząc, bo przeglądar-ka nie wyświetlałaby już ostrzeżeń przy kolejnych połączeniach!

W tym miejscu należy jeszcze w dokładnie wyjaśnić znaczenie słowa cer-tyfikat, jak już wiemy, najważniejszą informacją jaką zawiera cercer-tyfikat, jest klucz publiczny serwera, bądź też klucz publiczny organizacji CA oraz podpis. Oprócz ww. danych, certyfikat zawiera jeszcze sporo dodatkowych informacji.

• Nazwę certyfikatu (musi być taka jak nazwa serwera)

• Nazwę organizacji, do której należy certyfikat

• Nazwę jednostki organizacyjnej

• Okres ważności certyfikatu

• Dane o wystawcy certyfikatu (czyli o CA, które złożyło podpis na certyfikacie)

• Klucz publiczny serwera

• Podpis wszystkich ww. informacji dokonany kluczem prywatnym CA W przypadku organizacji CA, certyfikat CA jest podpisany kluczem pry-watnym tego samego CA. Jest to uzasadnione, ponieważ z założenia CA powinno być godne zaufania. Nie oznacza to, że faktycznie musimy ufać każdemu CA. Jeśli jednak ufamy jakiemuś CA, a jego certyfikatu nie ma na liście przeglądarki, możemy go dodać używając menedżera certyfikatów, zakładki Organy Certyfikacji i klikając przycisk Importuj. Wcześniej trze-ba oczywiście posiadać dany certyfikat CA, w przypadku opisywanego CA MIMUW można go pobrać ze strony.

Wyświetlanie szczegółów certyfikatu

• Szczegóły dotyczące certyfikatu można wyświetlić bezpośrednio z okien-ka ostrzeżenia kliokien-kając na Sprawdź certyfiokien-kat

• Bardziej dokładne informacje kryją się pod zakładką Szczegóły

• Certyfikatami, które zostały zaakceptowane możne zarządzać za po-mocą menadżera certyfikatów

Zarządzanie certyfikatami

Aby edytować zapamiętane wcześniej certyfikaty należy uruchomić mena-dżera certyfikatów:

menu NarzędziaIOpcje IZaawansowane ISzyfrowanie

Wyświetl certyfikatyIzakładka Witryny

Wyświetlenie klucza publicznego zawartego w certyfikacie

W opisany sposób można przeglądać pola związane z danym certyfikatem.

Jedno z tych pól zawiera informacje o kluczu publicznym.

Aby wyświetlić wartość klucza publicznego certyfikatu, należy wybrać ko-lejno:

zakładka WitrynyIdany certyfikat IWyświetl I

zakładka SzczegółyIInformacje o kluczu publicznym IKlucz Publiczny

Edycja certyfikatu

Za pomocą mechanizmu edycji certyfikatów można zmienić poziom zaufania związany z danym certyfikatem.

Menedżer certyfikatów umożliwia edycję certyfikatów:

menu NarzędziaIOpcje IZaawansowane ISzyfrowanie

Wyświetl certyfikatyIzakładka Witryny Idany certyfikat IEdytuj

4.6 Wyszukiwarki internetowe

Wyszukiwarka internetowa jest aplikacją, która posiada interfejs dostęp-ny przez przeglądarkę internetową i umożliwia wyszukiwanie dokumentów umieszczonych w sieci Internet – głównie (choć nie tylko) na stronach WWW. W praktyce, z wyszukiwarek internetowych korzysta się bardzo często, dlatego też w niniejszym rozdziale zostaną omówione zasady ich działania. Bedą też podane informacje dotyczące korzystania z wyszukiwa-rek.

W dokumencie Technologie informacyjne (Stron 74-82)