Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek <dunstan@freebsd.czest.pl>



Podobne dokumenty
Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Podstawy Secure Sockets Layer

Praktyczne aspekty wykorzystania nowoczesnej kryptografii

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

SSL (Secure Socket Layer)

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

WSIZ Copernicus we Wrocławiu

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Przewodnik użytkownika

Opis efektów kształcenia dla modułu zajęć

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Bezpieczeństwo w Internecie

ZiMSK. Konsola, TELNET, SSH 1

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

# katalog, w który zapisywane są certyfikaty crl_dir=$dir/crl

Bezpieczeństwo usług oraz informacje o certyfikatach

Marcin Szeliga Dane

Program szkolenia: Bezpieczny kod - podstawy

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Kryptografia szyfrowanie i zabezpieczanie danych

Zarys algorytmów kryptograficznych

Bezpieczeństwo kart elektronicznych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

2 Kryptografia: algorytmy symetryczne

Zastosowania informatyki w gospodarce Wykład 8

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

Authenticated Encryption

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Spis treści. Od Wydawcy

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Technologie informacyjne - wykład 5 -

WHEEL LYNX SSL/TLS DECRYPTOR. najszybszy deszyfrator ruchu SSL/TLS

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

Czym jest kryptografia?

Szyfrowanie danych w SZBD

Bezpieczna poczta i PGP

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Laboratorium nr 6 VPN i PKI

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Szyfrowanie informacji

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Algorytmy asymetryczne

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Zastosowania informatyki w gospodarce Wykład 5

Przykłady ataków. Błąd dotyczy np. forów dyskusyjnych z możliwością umieszczania plików grafcznych. Pozwala to na wykonanie dowolnego żądania HTTP.

Gerard Frankowski, Błażej Miga Zespół Bezpieczeństwa PCSS. Konferencja SECURE 2008 Warszawa,

Nowe narzędzia ICT. Do czego więc można wykorzystać ową kryptografię?

Opis przedmiotu zamówienia/specyfikacja techniczna

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Nowości w kryptografii

Wprowadzenie do technologii VPN

Kryptografia na procesorach wielordzeniowych

SET (Secure Electronic Transaction)

Wykorzystanie protokołu T=CL w systemach kontroli dostępu

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Bezpieczeństwo danych i elementy kryptografii - opis przedmiotu

Spis treści. Przedmowa... 9

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Bezpieczeństwo danych, zabezpieczanie safety, security

Scenariusz lekcji. wymienić różnice pomiędzy kryptologią, kryptografią i kryptoanalizą;

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

Strategia gospodarki elektronicznej

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

Potencjalne ataki Bezpieczeństwo

Laboratorium nr 4 Sieci VPN

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Bezpieczeństwo w sieci lokalnej - prezentacja na potrzeby Systemów operacyjnych

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Technologia Internetowa w organizacji giełdy przemysłowej

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych i usługi sieciowe

Copyright by K. Trybicka-Francik 1

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Copyright by K. Trybicka-Francik 1

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Bringing privacy back

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

Bezpieczeństwo systemów komputerowych.

Zdalne logowanie do serwerów

Bezpieczeństwo systemów komputerowych

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Technologie cyfrowe semestr letni 2018/2019

Laboratorium nr 5 Sieci VPN

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

IPsec bezpieczeństwo sieci komputerowych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Protokoły zdalnego logowania Telnet i SSH

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Transkrypt:

Praktyczne aspekty wykorzystania nowoczesnej kryptografii Wojciech A. Koszek <dunstan@freebsd.czest.pl>

Wprowadzenie Kryptologia Nauka dotycząca przekazywania danych w poufny sposób. W jej skład wchodzi kryptografia i kryptoanaliza

Kryptografia Zajmuje się tworzeniem metod szyfrowania. Głównymi zagadnieniami kryptografii są: algorytmy kryptograficzne protokoły kryptograficzne funkcje skrótu

Algorytmy kryptograficzne Opisują sposób zamiany bloków tekstu jawnego Algorytmy dzielimy na symetryczne asymetryczne

Algorytmy symetryczne Algorytmy, w krótych szyfrowanie i deszyfrowanie odbywa się przy pomocy tego samego klucza. Przykłady: DES (Lucifer) AES (Rijandael)

Algorytmy asymetryczne Algorytmy asymetryczne to takie, w których klucz szyfrujący jest inny niż klucz deszyfrujący. Przykłady: RSA

Funkcje skrótu Funkcje przyjmujące pewną ilość danych, oraz zwracające unikalny ciąg identyfikujący te dane. Przykładami funkcji skrótu mogą być SHA-1 MD5 RMD-160

Funkcje skrótu (II) Wartości poszczególnych funkcji dla ciągu kryptografia : MD5 SHA-1 RMD-160 d29d2fd37d23dedfefcc3c6a41c42410 254f0eb08eaf1d33e0988d64f861c8681a7e6579 4e92978a3a3da55a8fcb2260cee89ebbcc28d058

Protokoły kryptograficzne Protokoły kryptograficzne mają na celu: przesyłanie pewnej porcji danych w poufny sposób potwierdzenie tożsamości nadawcy i odbiorcy zapewnienie o pochodzeniu pewnej porcji danych (potwierdzenie elektronicznego podpisu)

Protokoły kryptograficzne: SSL

Protokół SSL (Secure Socket Layer) Protokół SSL jest przykładem protokołu: zapewniającego autentyczność gwarantującego pufność danych gwarantującego integralność

Protokół SSL (II) Protokół SSL pełni funkcję pośrednika między warstwą TCP/IP a protokołami użytkowymi. Możliwe jest wykorzystanie protoku SSL do zabezpieczania wielu popularnych usług (HTTP, POP3, IMAP)

OpenSSL: przykłady

OpenSSL Zalety biblioteki: jest wolnodostępna jest przenośna jest rozszerzalna Wady: błędy narażające bezpieczeństwo usług korzystających z biblioteki

OpenSSL: szyfrowanie symetryczne Proces szyfrowania danych przy pomocy algorytmu DES zawartych w pliku dane.txt należy przeprowadzić poprzez: openssl enc -e -des-cbc < dane.txt > tajne.txt

OpenSSL: szyfrowanie asymetryczne Pierwszy krok to generacja klucza: openssl genrsa -out key 1024 Następnie należy uzyskać publiczną część powstałego klucza: openssl rsa -in key -pubout -out key.pub

OpenSSL: szyfrowanie asymetryczne (II) Szyfrowanie kluczem publicznym: openssl rsautl -encrypt -pubin -inkey key.pub -in dane.txt -out tajne.txt Szyfrowanie kluczem prywatnym: openssl rsautl -encrypt -inkey key -in dane.txt -out tajne.txt

Wykorzystanie biblioteki OpenSSL Podstawy: Struktury i funkcje BIO: Odpowiedniki standardowych funkcji biblioteki libc operujących na strukturach FILE struktury i funkcje EVP_*: określenie rodzaju algorytmu określenie funkcji skrótu określanie parametrów procesu szyfrowania

Struktury BIO (I) Podstawowe operacje: BIO* BIO_new(..) - tworzenie struktury BIO* BIO_set_fp(..) - łączenie struktury BIO ze strukturą FILE BIO* BIO_push(..) - możliwość wiązania struktur, czego wynikiem jest łańcuch przepływu danych.

Struktury BIO (II) BIO *sd_o; FILE *out; [..] sd_o = BIO_new(BIO_s_file()); BIO_set_fp(sd_o, out, BIO_CLOSE);

Struktury EVP_* (I) Podstawowe operacje: Inicjalizacja szyfru przykładowo EVP_des_cbc() Inicjalizacja wartości klucza oraz wektora początkowego używanego podczas szyfrowania funkcja EVP_BytesToKey(..)

Struktury EVP_* (II) const EVP_CIPHER *c; const EVP_MD *md; [..] c = EVP_des_cbc(); md = EVP_sha1();

Struktury EVP_* (III) Przygotowanie klucza zgodnego z PKCS#5: unsigned char salt[pkcs5_salt_len], unsigned char key[evp_max_key_length]; unsigned char iv[evp_max_iv_length]; EVP_BytesToKey(c, md, salt, buf, strlen (buf), 1, key, iv);

Wartości losowe Biblioteka OpenSSL zapewnia interfejs do łatwego generowania losowego ciągu bitów, w tym przypadku potrzebnego do uzyskania tzw. soli: RAND_bytes(salt, sizeof(salt));

Tworzenie łańcucha szyrfującego BIO *cipher_bio; cipher_bio = BIO_new(BIO_f_cipher()); BIO_set_cipher(cipher_bio, c, key, iv, 1); [..] bio = BIO_push(cipher_bio, sd_in);

Proces szyfrowania Dzięki wykorzystaniu struktur BIO proces szyfrowania sprowadza się do wykonania pętli: while ((l = BIO_read(bio, buf, sizeof(buf))) > 0) { } BIO_write(sd_out, buf, l);

Zakończenie działania Zwolnienie zasobów przy pomocy void BIO_free(..) Wywołanie funkcji *_cleanup

Podsumowanie Przyszłość i rozwój kryptografii kryptografia kwantowa kryptografia bazująca na krzywych eliptycznych

Koniec Dziękuję i zapraszam do zadawania pytań