Elektroniczne płatnoÿci z wykorzystaniem bezpiecznego WWW mgr inÿ. Krzysztof Szczypiorski e-mail: K.Szczypiorski@tele.pw.edu.pl Instytut Telekomunikacji Politechniki Warszawskiej ENIGMA'98 - II Krajowa Konferencja Zastosowaÿ Kryptografii Tutorial III - Protokoły elektronicznych płatnoÿci Warszawa, 26-28 maja 1998 r. Plan prezentacji zał.. analiza ÿrodowiska WWW i istniej cych w nim zabezpiecze pod k tem zastosowa do elektronicznych płatnoÿci Wprowadzenie elektroniczny handel - dziedzina czym jest WWW? zwi zek z protokołami rodziny TCP/IP, URL Architektura WWW MIME, HTTP, wymiana pomi dzy klientem a serwerem architektura usługowa Zagro enia Bezpiecze stwo transportu (S-HTTP, SSL, PCT) po stronie serwera (konfiguracja, umiejscowienie serwera) po stronie klienta (Java( Java, JavaScript, ActiveX) K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 2 Elektroniczny handel z wykorzystaniem WWW - dziedzina cz.1/2 Elektroniczny handel z wykorzystaniem WWW - dziedzina cz.2/2 Internet Internet Klient Usługodawca Bank klienta Bank usługodawcy Klient Bank klienta Sie mi dzybankowa Home-banking, office-banking, direct-banking K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 3 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 4
λ λ λ λ λ Czym jest WWW? WWW, W3 - World Wide Web - World Wide Wait reakcja na frustracje zwi zane: z ograniczeniami Internetu i z jego niekontrolowanym rozwojem (liczba dokumentów i ich rozmieszczenie) w przeszłoÿci ka dy protokół (FTP, Gopher,, NNTP, WAIS, Telnet,, SMTP) wymagał: innego oprogramowania do obsługi (klienta) ró nił si reprezentacj przechowywanych plików wymagał zaanga owania ludzi pomysł - unifikacja poprzez WWW (nowy protokół HTTP) najwa niejsze fakty z 9. letniej historii 1989 Tim Bernes-Lee zgrupz fizyków z European Laboratory for Particle Physics (CERN) proponuje stworzenie nowego systemu 1990 powstaje nazwa WWW dla pierwszej implementacji na maszynach NeXT; HTTP i HTML 1990 grudzie - pierwsze wersj oprogramowania dost pne poza CERN 1992 stycze - pierwsza tekstowa przegl darka z CERN rozumiej ca HTML 2.0 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 5 WWW a protokoły TCP/IP; URL WWW TCP IP /MAN/WAN UDP Aplikacje Transport Sie Transmisja URL Uniform Resource Locator http://www.tele.pw.edu.pl:8000/www/przyklad.html protokół nazwa maszyny HTTP/MIME FTP NNTP SMTP numer portu ÿcie ka K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 6 MIME Multipurpose Internet Mail Extensions typ pliku rozpoznawany po ko cówce x dla eksperymentalnych typów MIME application/msword application/news news-message-id application/postscript application/x /x-tex application/zip message/news message/rfc822 multipart/alternative alternative multipart/mixed mixed Idea działania HTTP HyperText Transfer Protocol - wersja0.9,1.0,1.1 TCP HTTP 1.0 ÿþdanie: metoda, nagłówki, dane audio/basic audio/x-wav text/html text/plain Odpowied : kod statusu, nagłówki, dane image/gif gif image/jpeg video/mpeg video/x-msvideo Przeglÿdarka: Przeglþdarka: nawiÿzanie połÿczenia Serwer: zako zako czenie połÿczenia K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 7 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 8
HTTP - żądania klienta ÿþdanie: metoda GET pobierz zawartoÿþ danego dok. HEAD pobierz info.. o nagłówku danego dok. POST potraktuj dokument tak jak skrypt - wyÿlij do niego dane PUT zamieÿ zawarto danego dokumentu DELETE skasuj dany dokument From adres e-mail uÿytkownika User-Agent info. o przegl darce Accept wspierane typy MIME Accept-Encoding wspierany typ kompresji Referer ostatnio wy wietlany URL Authorization kontrola dost pu Charge-To opłaty If-Modified-Since tylko je li modyfikacja po Pragma instrukcje wewn. serwera Content-Length długo danych w bajtach ÿþdanie: nagłówki K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 9 HTTP - odpowiedź serwera cz.1/2 2xx sukces 200 OK 202 Accepted 204 No response 3xx przekierowanie 4xx błÿd po stronie klienta 400 Bad Request 403 Forbidden 404 Not Found 5xx blÿd po stronie serwera 500 Internal Error 501 Not Implemented Odpowied : kod statusu Przykłady K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 10 HTTP - odpowiedź serwera cz.2/2 Server info. o serwerze Odpowiedÿ: Date aktualna data (czas GMT) nagłówki Last-Modified ostatnia modyfikacja dokumentu Expires data waÿno ci URI adres przekierowania MIME-Version wersja MIME Content-Length długo danych Content-Type typ danych Content-Encoding metoda kompresji Content-Language j zyk dokumentu Content-Transfer-Encoding metoda kodowania (np. 7-bitowe, binarne) WWW-Authenticate kontrola dost pu Message-Id identyfikator wiadomo ci (tylko News) Cost koszt Link URL ojca dokumentu Title tytuł Allowed ÿadania ÿ daj cego uÿytk. mog zosta wykonane Public ÿ dania dowolnego uÿytk. mog zosta wykonane Przykład wymiany HTTP >telnet www.tele tele.pw.edu.pl http Trying 148.81.65.117 Connected to bach.tele tele.pw.edu.pl. Escape character is ^]. GET /www/ www/example.txt HTTP/1.0 From: lamer@any any.site.pl Accept: text/plain Accept: text/html Przeglÿdarka: 1. 1. nawiÿzanie połÿczenia 2. 2. ÿ danie HTTP/1.0 200 OK Serwer: Date: Monday,, 28-May May-98 12:34:56 GMT 3. Server: WebServer/1.0 3. odpowied MIME-version version: : 1.0 Last-modified modified: Sunday,, 24-May May-98 11:11:11 GMT Content-length length: : 12 Udalo sie! 4. Connection closed by foreign host. 4. zako zako czenie > połÿczenia K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 11 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 12
WWW - architektura usługowa Zagrożenia Obszary zabezpieczeÿ Programy uruchamiane po stronie przegl darki Uruchamialne skrypty serwera Inne serwery lub programy Programy uruchamiane po stronie przegl darki Uruchamialne skrypty serwera Inne serwery lub programy Serwer Sie /MAN/WAN Serwer Sie /MAN/WAN Pliki po stronie klienta (przegl darki) transportu Pliki po stronie serwera - brak prywatnoÿci - modyfikacja systemu - denial-of-service - podsłuch - kradzie danych - modyfikacja - podszycie si - modyfikacja systemu - denial-of-service K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 13 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 14 Kryptografia - pojęcia znane Tutorial dla pocz tkuj cych Cechy sieci Internet a bezpieczeństwo usługi ochrony informacji: kontrola dostÿpu, poufno, integralno, uwierzytelnienie, niezaprzeczalno mechanizmy ochrony informacji: szyfrowanie (symetryczne i asymetryczne), funkcja skrótu, MAC, podpis cyfrowy inne: certyfikat, uzgodnienie klucza, dystrybucja klucza algorytmy: DES, IDEA, RSA, DH, SHA, MDx podstawowe protokoły rodziny TCP/IP nie posiadajÿ adnych kryptograficznych zabezpiecze,niesÿ realizowane usługi: poufno ci (podsłuch wiadomo ci) integralno ci i uwierzytelnienia (modyfikacja danych, podszywanie si ) wi kszo aplikacji było/jest projektowanych (i pisanych) niebezpiecznie architektura sieci Internet wymusza: zastosowanie kontroli dost pu na poziomie warstwy sieciowej, a tak e na poziomie warstwy aplikacji (separacja sieci) - firewalling zorganizowanie zaawansowanego audytu - logowanie konieczne jest tak e indywidualne zabezpieczenie podstawowych usług internetowych (e-mail mail, news, http) na poziomie u ytkownika K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 15 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 16
Kierunki zabezpieczeń w Internecie bezpieczne aplikacje zmiana/wzbogacenie protokołów (np. WWW, poczta elektroniczna) nowa warstwa poÿrednicz ca (np. Secure Socket Layer) zmiana/wzbogacenie protokołów TCP/IP + ograniczenie penetracji sieci poprzez firewalling K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 17 S-HTTP/1.4 (Secure HTTP) K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 18 SSL Secure Sockets Layer - wersja 3.0 Netscape Communications na popularnoÿ składa si : proste tworzenie aplikacji, łatwoÿ w u yciu bezpiecze stwo (nie chroni jednak przed analiz ruchu) biblioteki (public( domain SSL - SSLeay, SSLava - Java) lipiec 1995 - Enterprise Integration Technologies Corp. - E. Rescorola ia.schiffmani IETF Working Group - web transaction security - draft z 11.97 (wa ny do 5.98) - http:// ://www.ietf.org/internet- drafts/draft draft-ietf-wts-shttp-05. 05.txt RFC 2048 - Considerations for Web Transaction Security rozszerzenie HTTP shttp:// - ten sam port TCP co http:// szyfrowanie, integralnoÿ (MAC), podpis cyfrowy danie: Secure * Secure-HTTP/1.4 jedyna linia statusu: Secure-HTTP/1.4 200 OK. dwa typy nagłówków: nagłówki ogólne - definiuj zastosowane mech. ochrony informacji - nie chronione nagłówki HTTP - chronione poprzez enkapsulacj https:// - port TCP 443 poufnoÿ, integralnoÿ, uwierzytelnienie ulepszenie wersji 2.0 przyszłoÿ : Transport Layer Security 1.0 draft IETF z 12.11.97 (wa ny do 12.05.98) - http:// ://www.ietf.org/internet-drafts/draft-ietf-tls-protocol- 05.txt K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 19 Change cipher spec SSL Alert SSL SSL 3.0 - architektura HTTP Handshake SSL Record SSL TCP/IP Application Data - zmiana kryptosystemów szyfruj cych - protokół alarmów: + ostrze enia + bł dy krytyczne - dane - protokół wst pnej negocjacji - fragmentacja - kompresja - ochrona kryptograficzna - niezawodny protokół transportowy K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 20
Klient ClientHello Certificate* ClientKeyExchange CertificateVerify* [ChangeCipherSpec] Finished ApplicationData SSL 3.0 - Handshake SSL ServerHello Certificate* CertificateRequest* ServerKeyExchange* Server Hello Done [ChangeCipherSpec] Finished ApplicationData Serwer K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 21 SSL 3.0 - idea pracy cz.1/3 U ytkownik dokonuje zakupów w internetowym sklepie (czyli na serwerze) sprzedawcy Faza 1 - Handshake - ustalenie wspólnego klucza K 1. U ytkownik da, pobiera i weryfikuje certyfikat serwera. 2. U ytkownik tworzy losowo 160-bitow wartoÿ K. 3. U ytkownik szyfruje K kluczem publicznym serwera. 4. U ytkownik wysyła szyfrogram (3) do serwera. 5. Serwer deszyfruje szyfrogram swoim kluczem prywatnym - odzyskuje K. 6. Serwer dokonuje skrótu K. 7. Serwer wysyła skrót (6) do u ytkownika. 8. U ytkownik dokonuje skrótu K i porównuje z wartoÿci (7) otrzyman. K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 22 SSL 3.0 - idea pracy cz.2/3 SSL 3.0 - idea pracy cz.3/3 Po zako czeniu fazy 1 - serwer jest uwierzytelniony przed u ytkownikiem, gdy : zna jego uwierzytelniony poprzez certyfikat klucz publiczny serwer wykazał si posiadaniem klucza prywatnego (zdolnoÿ do odszyfrowania K) K jest wspólny kluczem (SSL/TLS MasterSecret) Faza 2 - Bezpieczna wymiana danych przy pomocy wspólnego klucza K - dane transmitowane w postaci pakietów zaszyfrowanych K (poufnoÿ ) i chronionych MAC (integralnoÿ( ) Handshake - CipherSuite - parametry: algorytmy symetryczne: aden,, RC4 (40-bitowe i 128- bitowe), RC2 (40-bitowe), IDEA, DES (40-bitowy), DES, TripleDES algorytmy asymetryczne: RSA, Fortezza i Diffie-Hellman (z certyfikatami opartymi o RSA, DSS albo bez nich) funkcje skrótu: MD5, SHA Odnowienie sesji, sensowne gdy : operacje wykorzystuj ce klucz prywatny s zmniejszenie ruchu w sieci łatwa multipleksacja równoległych poł cze kosztowne K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 23 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 24
Najważniejsze problemy związane z SSL wg. Paula Kochera - współtwórcy SSL 1. Brak wsparcia dla systemów poÿrednicz cych (proxy( proxy). 2. Obci enie obliczeniowe klienta i serwera. 3. Dodatkowy ruch w sieci (handshake( handshake). 4. Trudna migracja w stron systemu symetrycznego. 5. Nie współpracuj dobrze z istniej cymi tokenami kryptograficznymi (Kerberos( Kerberos). 6. Zarz dzanie kluczami kosztowne (cz sto wymaga hardware u). 7. Wymaga urz du ds.. certyfikacji z okreÿlon polityk. 8. Zaszyfrowane informacje nie daj si kompresowa (modemy). 9. Mi dzynarodowe restrykcje na algorytmy kryptograficzne. K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 25 Handshake PCT Datagram PCT PCT v2.0 Private Communication Technology 1995 - Microsoft - wersja 1.0 mutacja SSL 2.0 nie zyskał popularnoÿci (wspierane tylko przez Microsoft) HTTP Error Handling PCT TCP/IP Key Management PCT User Data K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 26 Bezpieczeństwo po stronie serwera bezpieczna maszyna usuniÿcie zbÿdnych usług i u ytkowników, rozszerzone logowanie, aktualne łaty bezpieczny serwer HTTP wybór bezpiecznego serwera (producent, produkt, wersja) konfiguracja: wył czenie automatycznego listowania katalogów wył czenie Symbolic Link Following katalogi u ytkowników - szczególne restrykcje na symlinki iskrypty skrypty: serwer uruchomiony z prawami nobody nobody anonimowe FTP bez mo liwo ci zapisu ograniczenie praw na plikach konfiguracyjnych uruchomienie w rodowisku chroot zablokowanie odczytu plików access-log i error-log kontrola dostÿpu na poziomie serwera bezpieczne skrypty anonimowo (robots.txt) 1 2 3 4 5 przeglÿdarka GET /cgi-bin/skrypt Bezpieczne CGI Common Gateway Interface GET /cgi-bin/skrypt?name=asia Asia ma 21 lat - wybór jÿzyka (Perl vs.. C/C++) - czego nale y unika pisz c programy? - jak weryfikowa ci gniÿte skrypty? serwer skrypt skrypt skrypt skrypt K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 27 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 28
Firewalle - kontrola dostępu, audyt dane z odległej maszyny Filtr, proxy Internet Prywatna podsieÿ odległa maszyna dane z maszyny w podsieci adresy, porty, flagi filtr Logowanie poł cze Internet Firewall Prywatna podsieÿ zdalna sesja dane od u ytkownika http proxy dane od u ytkownika 4 separacja sieci 4 pierwsza generacja produktów do zabezpiecze dane ze zdalnej sesji protokół (np. HTTP) dane ze zdalnej sesji Logowanie poł cze K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 29 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 30 Firewalling a model sieci Internet Serwer WWW a firewalle cz.1/2 Proxy Proces użytkownika Proces użytkownika Proces użytkownika Proces użytkownika Serwer wewnÿtrzny (intranetowy) TCP UDP bastion Kozioł ofiarny Filtrowanie ICMP IP IGMP Logowanie ARP Interfejs sprzętowy RARP bastion i Serwer na bastionie medium transmisyjne K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 31 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 32
Serwer WWW a firewalle cz.2/2 Bezpieczeństwo po stronie przeglądarki bastion bastion wewn trzny Serwer obok bastiona zewn trzny (mirror) Chaining proxy prywatnoÿþ (m.in in. da posiadanych zasobów) problemy z: Java (Sun) JavaScript (Netscape) ActiveX (Microsoft) klienta, haseł, inne bł dy w implementacjach przegl darek: Microsoft Internet Explorer Netscape Navigator K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 33 K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 34 Podsumowanie bezpieczne WWW - nie jest obj te adnym standardem internetowym (RFC) architektura nie była tworzona pod k tem elektronicznego handlu - ochrona styku klient-serwer to odpowied na typowe zagro enia wyst puj ce w sieciach TCP/IP problem bezpiecze stwa serwera sprzedawcy, prawdziwoÿci certyfikatu bezpieczne WWW - jako platforma - wsparcie dla innych protokołów co dalej? SET i inne protokoły KONIEC Czy majÿ Pa stwo pytania? K.Szczypiorski - IT PW Elektroniczne płatnoÿci i WWW 35