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



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

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

Zarys algorytmów kryptograficznych

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Wykład IV. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

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

Copyright by K. Trybicka-Francik 1

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

Copyright by K. Trybicka-Francik 1

Algorytmy asymetryczne

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

PRZEWODNIK PO PRZEDMIOCIE

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

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.)

SCHEMAT ZABEZPIECZENIA WYMIANY INFORMACJI POMIĘDZY TRZEMA UŻYTKOWNIKAMI KRYPTOGRAFICZNYM SYSTEMEM RSA

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

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

Zastosowania informatyki w gospodarce Wykład 5

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

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

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

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

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

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

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

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

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

2 Kryptografia: algorytmy symetryczne

Kryptografia szyfrowanie i zabezpieczanie danych

Ochrona Systemów Informacyjnych. Elementy Kryptoanalizy

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

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

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

Bezpieczeństwo danych, zabezpieczanie safety, security

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

WSIZ Copernicus we Wrocławiu

Szyfrowanie informacji

Marcin Szeliga Dane

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Ataki kryptograficzne.

Przewodnik użytkownika

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Wstęp do programowania

Potencjalne ataki Bezpieczeństwo

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Bezpieczeństwo w Internecie

Tajemnice szyfrów. Barbara Roszkowska Lech. MATEMATYKA DLA CIEKAWYCH ŚWIATA marzec 2017

Wybrane zagadnienia teorii liczb

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

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

Spis treści. Przedmowa... 9

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

Problem logarytmu dyskretnego i protokół Diffiego-Hellmana. Mateusz Paluch

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

SYLABUS/KARTA PRZEDMIOTU

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

Wprowadzenie do technologii VPN

LITERATURA. Kryptografia i ochrona danych LITERATURA. Ochrona danych

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

Bezpieczeństwo systemów komputerowych

SSL (Secure Socket Layer)

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

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

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

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

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

Seminarium Ochrony Danych

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

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

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

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Czym jest kryptografia?

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

Technologie cyfrowe semestr letni 2018/2019

Bezpieczeństwo danych i elementy kryptografii - opis przedmiotu

Matematyczna podróż w głąb Enigmy

Authenticated Encryption

PRACE NAUKOWE Akademii im. Jana Długosza w Częstochowie Informatyka, Inżynieria Bezpieczeństwa

Kryptografia na Usługach Dewelopera. Cezary Kujawa

Bezpieczeństwo danych i systemów informatycznych. Wykład 5

Plan całości wykładu. Ochrona informacji 1

Kryptografia publiczna (asymetryczna) Szyfrowanie publiczne (asym) Problem klucza publicznego. Podpisujemy cyfrowo. Jak zweryfikować klucz publiczny?

Wstęp do Informatyki

Kryptografia kwantowa

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Bezpieczna poczta i PGP

Algorytmy podstawieniowe

Transkrypt:

Wykład VI - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2013 c Copyright 2013 Janusz Słupik

Podstawowe zasady bezpieczeństwa danych

Bezpieczeństwo Obszary: Kryptografia - nauka o konstruowaniu systemów kryptograficznych Kryptoanaliza - nauka o łamaniu systemów kryptograficznych Steganografia - nauka o ukrywaniu faktu przesyłania informacji

Kryptografia klasyczna klucz klucz tekst jawny szyfrowanie szyfrogram przesylanie szyfrogram deszyfrowanie tekst jawny Alicja Bob Cezary Główna zasada bezpieczeństwa: Zakładamy, że podsłuchujący wie jakiego używamy algorytmu, nie zna on jedynie klucza (kluczy).

Wady: długie klucze (z dużego zbioru), jednorazowe klucze, konieczność spotkania się w celu ustalenia i wymiany kluczy.

Przykład - szyfr przesuwający ( kid sister safe system ) Przekształcamy plik bajt po bajcie, tzn. każdy bajt x jest przetwarzany przez algorytm, a wynik (nowy bajt) jest zapisywany do pliku. Odwzorowanie szyfrujące (deszyfrujące) jest następujące x x + k (mod 256) gdzie k jest pewną liczbą ze zbioru {1,..., 255}. Liczba k jest kluczem szyfrującym. Liczba k jest kluczem deszyfrującym.

Wady mała ilość kluczy - 255 kluczy każdej literze odpowiada zawsze ten sam znak kryptogramu

Analiza częstości

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF Porównujemy różnice kodów sąsiednich liter modulo 256. T A K 84 65 75

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF Porównujemy różnice kodów sąsiednich liter modulo 256. T A K 84 65 75 19 246

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF Porównujemy różnice kodów sąsiednich liter modulo 256. T A K 84 65 75 19 246 N I E 78 73 69

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF Porównujemy różnice kodów sąsiednich liter modulo 256. T A K 84 65 75 19 246 N I E 78 73 69 5 4

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF Porównujemy różnice kodów sąsiednich liter modulo 256. T A K 84 65 75 19 246 N I E 78 73 69 5 4 O J F 79 74 70

Inny przykład kryptoanalizy Spodziewany tekst: TAK lub NIE Cezary przechwycił szyfrogram: OJF Porównujemy różnice kodów sąsiednich liter modulo 256. T A K 84 65 75 19 246 N I E 78 73 69 5 4 O J F 79 74 70 5 4

One-time pad Załóżmy, że mamy tekst jawny w postaci bajtów: a 1,..., a n. Jako klucza używamy innego ciągu bajtów o tej samej długości co tekst jawny: k 1,..., k n. Szyfrowanie to obliczanie: c i = a i XOR k i i = 1,..., n zaś deszyfrowanie to: a i = c i XOR k i i = 1,..., n

One-time pad - własności Przy jednokrotnym użyciu klucza ta metoda gwarantuje bezpieczeństwo doskonałe. Poważną wadą tej metody jest konieczność posiadania tak długiego klucza jak szyfrowana informacja. Dodatkowo klucz ten musi być uzgodniony przez obie strony systemu.

Atak z tekstem jawnym Większość plików zapisywanych w popularnych formatach posiada stałe, albo przewidywalne nagłówki. Może to prowadzić do próby uzyskania początkowej części klucza.

Kryptografia współczesna Brak konieczności spotkania się w celu ustalenia i wymiany kluczy szyfrujących i deszyfrujących. Idea: Większość współczesnych systemów kryptograficznych jest budowana w oparciu o problemy matematyczne i obliczeniowe.

Kryptografia z kluczem publicznym Osoba A tworzy poufnie dwa klucze (matematycznie powiązane). Jeden z nich nazywany jest kluczem publicznym, a drugi kluczem prywatnym. Obliczenie klucza prywatnego na podstawie klucza publicznego jest praktycznie niewykonalne. Klucz publiczny może być swobodnie rozpowszechniany, natomiast odpowiadający mu klucz prywatny musi zostać zachowany w sekrecie. Osoba B chcąc wysłać do A wiadomość używa do jej zaszyfrowania klucza publicznego. Osoba A otrzymany od B szyfrogram odszyfrowuje przy użyciu klucza tajnego.

Przykład - kryptosystem RSA Został stworzony w 1978 przez zespół: Ronald Rivest, Adi Shamir, Leonard Adleman. Osoba A - konstrukcja kluczy: - losuje dwie duże liczby pierwsze p i q, - losuje liczbę e taką, że 1 < e < (p 1)(q 1) i NWD(e, (p 1)(q 1)) = 1, - oblicza n = p q - oblicza d = e 1 (mod (p 1)(q 1)) Klucz publiczny: (n, e) Klucz prywatny: (n, d)

Kryptosystem RSA Szyfrowanie: Osoba B chce wysłać wiadomość do osoby A. Oblicza reprezentację liczbową m swojej wiadomości. Wykorzystując klucz publiczny oblicza c = m e (mod n). Deszyfrowanie: Osoba A oblicza c d (mod n) = m.

Wymagania dotyczące bezpieczeństwa Zbiór możliwych wiadomości nie może być mały i znany. Atak brute-force : Dla małego zbioru wiadomości, np: { ATAK, CZEKAJ, WYCOFAJ } możemy obliczyć wszystkie możliwe szyfrogramy i je porównać z przechwyconym.

Zastosowanie SSH - to wspólna nazwa dla całej rodziny protokołów, do terminalowego łączenia się ze zdalnymi komputerami (SSH), do przesyłania plików (SCP, SFTP), zdalnej kontroli zasobów, tunelowania i wielu innych zastosowań. Dostępne m.in. w programach Putty, WinSCP.

Funkcje haszujące Funkcja skrótu (funkcja haszująca) jest to funkcja, która przyporządkowuje dowolnie dużej wiadomości krótką, posiadającą stały rozmiar wartość (skrót wiadomości). Funkcja skrótu H(m) musi posiadać własności: 1) dla każdej wiadomości m łatwo jest obliczyć H(m); 2) praktycznie niemożliwe jest znalezienie takich dwóch wiadomości m i m, dla których H(m) = H(m ) (tzw. odporność na kolizje); 3) dla danego skrótu y praktycznie nie można znaleźć takiego m, że H(m) = y (odporność na wyliczenie przeciwobrazu).

Funkcje haszujące md5 (128 bitowy skrót) SHA-1 (160 bitowy skrót) tiger (192 bitowy skrót) SHA-256 (256 bitowy skrót) Zmiana jednej litery w wiadomości prowadzi do wielkiej zmiany wartości funkcji haszującej.

SHA-256 Kotek 9921c40280e1b3e8e773de999a78c015205594ff507dc14ebeeeb583f2de212c Katek 32c057e6e2320b0eeede6b9436d3fc869e43c6e183d9c3e8f44e025584e6ba01 kotek d3369f5cb45b1d21c0e2dcc803f0a60410b71a342ac59a48e4f35d409fcb4b66 k 8254c329a92850f6d539dd376f4816ee2764517da5e0235514af433164480d7a kominiarz 54e3538418a7d7de959254bef817b85130cc9e5fc13afdbeaf3ff8638f228f3c

Zastosowania Sumy kontrolne Weryfikacja spójności danych Wyszukiwanie danych Protokoły kryptograficzne

Podpis cyfrowy Osoba A Klucz prywatny osoby A ##$TW# List 2345678 ##$TW# List Osoba B Klucz publiczny osoby A 2345678 ##$TW# ##$TW# List = 2345678 List

Przechowywanie haseł Hasła dostępu do komputera, baz danych, usług, itp. powinny być przechowywane w postaci wartości funkcji haszującej. Nie zaleca się szyfrowania z kluczem znanym przez administratora, gdyż daje mu to możliwość pracy jako inny użytkownik. Ponadto w przypadku kradzieży pliku z hasłami podczas włamania do systemu, bezpieczeństwo tego systemu zależy od jakości (siły) użytego hasła.

Atak słownikowy Atak ten ma na celu ustalenie hasła (najczęściej jakiegokolwiek) użytkownika systemu. Opiera się on na założeniu, że użytkownicy wybierają często słabe hasła (daty urodzin, nazwiska, wyrazy z języka naturalnego, itp.) Atak ten polega na obliczaniu skrótów dla słów ze słownika i porównywania ich ze skrótami haseł ze skradzionego pliku. Wielu administratorów uruchamia procesy wykonujące prewencyjnie atak słownikowy na hasła użytkowników. W przypadku złamania hasła, żąda się od użytkownika zmiany hasła na nowe.

Gotowe rozwiązania Biblioteka: Crypto++ Library 5.6.2

Uwaga - hasło w pliku binarnym #include <iostream> #include <string> #include <cstdlib> using namespace std; int main() { string haslopobrane; const string haslo = "TajnePoufne"; cout << "Podaj haslo:"; cin >> haslopobrane; } if( haslopobrane == haslo ) { // akcja chroniona hasłem } return 0;

Bibliografia Neal Koblitz, Wykład z teorii liczb i kryptografii, WNT, Warszawa 2006 Neal Koblitz, Algebraiczne aspekty kryptografii, WNT, Warszawa 2000 Bruce Schneier, Kryptografia dla praktyków, WNT, Warszawa 2002 Alfred Menezes, Paul van Oorschot, Kryptografia stosowana, WNT, Warszawa 2005 A. Menezes, P. van Oorschot - Handbook of applied cryptography http://www.cacr.math.uwaterloo.ca/hac/

Koniec