W9
Protokół kryptograficzny jest protokołem wykorzystującym kryptografię. Umożliwiają one realizację zadań nawet przez strony nie dążące się zaufaniem.
Własności protokołu:
-Każdy użytkownik protokołu musi go znać i kolejno wykonywać wszystkie kroki
-Każdy użytkownik musi zgodzić się na jego stosowanie.
-Protokół musi być nie mylący, tj. każdy krok musi być dobrze zdefiniowany i nie może wystąpić szansa na nieporozumienie
-Protokół musi być kompletny, tj. dla każdej możliwej sytuacji musi być podany odpowiedni sposób postępowania.
Typy protokołów
-Arbitrażowe
-Rozjemcze
-Samowymuszające
Protokół arbitrażowy
- Problemy związane z implementacją protokołu arbitrażowego w sieci komputerowej:
- dużo łatwiej można znaleźć i obdarzyć zaufaniem trzecią neutralną stronę, jeżeli znamy tę osobę, możemy ujrzeć jej twarz lub jesteśmy przekonani, że jest to postać rzeczywista, niż zaufać komuś bezosobowemu gdzieś w sieci komputerowej;
- sieć komputerowa musi ponosić koszty utrzymania arbitra;
- z każdym protokołem arbitrażowym jest związane pewne opóźnieniem;
- arbitrzy są potencjalnym wąskim gardłem każdego protokołu zaimplementowanego na wielką skalę;
- każdy użytkownik sieci komputerowej jest zmuszony ufać arbitrowi. Arbiter jest więc narażony na oddziaływanie każdego intruza podejmującego próby oszustwa w sieci.
Protokół rozjemczy
- Protokół arbitrażowy dzieli się na protokoły niższego rzędu:
- protokół niearbitrażowy-sytuacja standardowa;
- protokół rozjemczy-sytuacja wyjątkowa.
Protokół samowymuszający
- Budowa protokołu gwarantuje uczciwość stron. Jeżeli bowiem jedna ze stron zaczyna oszukiwać, druga natychmiast to może wykryć
- Nie ma protokółów samowymuszających odpowiednich na każdą sytuację
Łamanie protokołów
- bierne
- aktywne
Lamanie może być skierowane na :
-protokół
-algorytmy kryptograficzne
-techniki kryprograficzne służące do implementacji algorytmu
Przebieg protokołu wymiany informacji za pomocą kryptografii symetrycznej:
- Uzgodnienie algorytmu kryptograficznego jaki będzie wykorzystywany do szyfrowania
- uzgodnienie klucza szyfrującego
- zaszyfrowanie wiadomości przez jedną ze stron
- przesłanie szyfrogramu na drugą stronę
- deszyfrowanie wiadomości przez drugą stronę
Przebieg protokołu wymiany informacji za pomocą kryptografii z kluczem publicznym:
- Uzgodnienie algorytmu kryptograficznego z kluczem jawnym jaki będzie wykorzystywany do szyfrowania
- Strony wymieniają się swoimi kluczami jawnymi lub pobierają je z serwera kluczy publicznych.
- Strony szyfrują wiadomości kluczami jawnymi strony przeciwnej i wysyłają do siebie informacje.
- Strony odszyfrowują otrzymane wiadomości swoimi kluczami prywatnymi.
Systemy z kluczem sesyjnym
- Używanie jednego klucza do szyfrowania całej wymiany informacji jest niekorzystne, gdyż dostarcza stronie atakującej coraz więcej materiału do kryptoanalizy;
- Wskazane jest więc stosowanie kluczy sesyjnych wykorzystywanych tylko na czas pojedynczej transmisji.
- Strony przed rozpoczęciem transmisji informacji muszą ustalić klucz sesyjny
- Klucz zasadniczy służy tylko i wyłącznie do szyfrowania i bezpiecznego przesyłania kluczy sesyjnych.
Protokół blokujący - Protokół umożliwia wykluczenie ataku man in the middle.
Trójprzebiegowy algorytm Shamira
- Korzysta z zasady, że EA(EB(M))=EB(EA(M)).
- Alicja szyfruje tekst jawny M swoim kluczem i przesyła do Roberta C1=EA(M)
- Robert szyfruje otrzymaną wiadomość swoim kluczem i z powrotem przesyła ją do Alicji. Wysyła C2=EB(EA(M))
- Alicja deszyfruje tekst jawny C2 za pomocą swojego klucza i z powrotem przesyła do Roberta. Wysyła więc
C3=DA(EB(EA(M)))= DA(EA(EB(M)))= (EB(M)
- Robert deszyfruje wiadomość C3 swoim kluczem i otrzymuje tekst jawny M
- Jako system szyfruj acy nie może być wykorzystane sumowanie modulo 2.
W10
Protokół dzielenia informacji pomiędzy grupe N osób:
• Arbiter generuje N-1 losowych kluczy: k1,k2,..kN-1 o tej samej długości co wiadomość M.
• Arbiter oblicza sumę modulo 2 wszystkich kluczy i dzielonej wiadomości w wyniku czego wyznacza
kryptogram C
• k1⊕,k2 ⊕,..,⊕ kN-1 ⊕M=C
• Rozdziela pomiędzy osoby klucze ki oraz szyfrogram C.
• Wyznaczenie wiadomość jawnej jest możliwe po zsumowaniu wszystkich kluczy i kryptogramu
Wady i zalety dzielenia tajemnicy
- tajemnica nie może być ujawniona bez zgody wszystkich zaangażowanych w nią osób;
- utrata choćby jednego klucza uniemożliwia odtworzenie informacji jawnej;
- gdy w grupie osób jest oszust, to nie można go wykryć, ani odczytać informacji .
- ujawnienie wiadomości zależy od woli poszczególnych powierników tajemnicy. Każdy z nich może skutecznie
zablokować odzyskanie informacji jawnej
Progowe dzielenie tajemnicy
W systemach z progowym podziałem tajemnicy wystarczy, że tylko m kluczy z ogolnej liczby n zostanie ujawnionych. Metoda opiera się na algorytmie wielomianu interpolacyjnego Lagrange'a.
Wiadomość poufna jest dzielona na n części (cienie), tak aby m dowolnie wybranych cieni umożliwiało
odtworzenie utajnionej treści
• Schemat protokołu progowego dzielenia tajemnicy:
- Wybierana jest liczba pierwsza p, większa od liczby możliwych cieni oraz reprezentacji liczbowej informacji jawnej;
- W celu dzielenia tajemnicy generowany jest wielomian stopnia m-1, gdzie m oznacza niezbędny prog ilości znanych kluczy;
- Cienie uzyskuje się przez obliczenie wartości wielomianu ki=f(xi), w n rożnych punktach xi=1, 2,...,n;
- Ujawnia się wartości cieni ki, wartości xi oraz liczbę p
Zalety i wady
- tajemnica nie może być ujawniona bez zgody wymaganej ilości osob;
- utrata nawet części kluczy, jeżeli zachowana została ich wymagana ilość, nie blokuje
odtworzenia informacji jawnej;
- ujawnienie wiadomości zależy od woli grupy, a nie pojedynczej osoby;
- w systemie progowym (m, n) można wykryć k; oszukujących, jeżeli dysponujemy m+k kluczami,
przy założeniu, że m+k≤ n.
Własności:
•W przypadku, gdy chcemy, aby część osob była ważniejsza przy dzieleniu tajemnicy, wtedy przydzielamy jej odpowiednio więcej cieni;
• Jesteśmy w stanie wykryć, że ktoś oszukuje zanim dojdzie do ujawnienia tajemnicy. Niestety, jesteśmy narażeni na poznanie naszych cieni przez oszusta;
Znane algorytmy dzielenia tajemnicy
• Algorytm wektorowy
- (każdy cień jest rownaniem hiperpłaszczyzny (m-1) wymiarowej zawierającej ten punkt. Przy odtwarzaniu tajemnicy poszukujemy punktu będącego przecięciem się hiperpłaszczyzn);
• Algorytm Ashmuta-Blooma
- (M'=M+r•p) używamy M' zamiast M, r-jest liczbą losową;
- cienie mają postać ki=M' mod di
- di dla i=1..n. są względnie pierwsze pomiędzy sobą i mniejsze od p.
• Algorytm Karnina Greena-Hellmana
- Opiera się na mnożeniu macierzy. Wybieranych jest n+1 wektorow m wymiarowych V0, V1, .., Vn takich, że utworzona z nich macierz (m × m) ma rząd m.
- U wektor losowy- wektor wierszowyo rozmiarze m+1 .
- M=U•V0, ki=Vi*U
Dowody wiedzy zerowej, to takie procedury kryptograficzne, za pomocą, ktorych jedna strona udowadnia drugiej fakt posiadania pewnej informacji bez jej ujawniania.
W11
Pomiar polaryzacji fotonow w bazie prostej
• Kryształ kalcytu plus dwa detektory fotonow rejestrujące fotony z wiązki zwyczajnej i nadzwyczajnej nadaje się do rejestracji polaryzacji fotonow o kierunkach 0 i 90. Takie ustawienie kryształu wyznacza tzw. bazę prosta.
• Pomiary w bazie prostej nie dają żadnych informacji o polaryzacji ukośnej, tzn. o polaryzacji fotonow
padających na kryształ i spolaryzowanych liniowo pod katem 45 lub 135 stopni do osi kryształu.
• Aby mierzyć polaryzacje ukośna należy obrocić os kryształu o 45 (lub 135) i wtedy urządzenie będzie
mierzyło polaryzacje 45 i 135. Takie ustawienie kryształu wyznacza tzw. bazę ukośną.
• Pomiary w bazie ukośnej, nie dają żadnej informacji o polaryzacji prostej;
• Polaryzacja prosta i polaryzacja ukośna, to dwie wielkości fizyczne, ktore zgodnie z prawami mechaniki kwantowej nie są wspołmierzalne. Pomiar jednej z nich czyni drugą całkowicie nieokreśloną.
• Przed podsłuchem w kwantowych systemach kryptograficznych chroni nas zasada nieoznaczoności
Heisenberga.
• Mechanika kwantowa, umożliwia więc bezpieczne przekazywanie klucza kryptograficznego!
'
Protokół BB84
Krok 1
Pani „Y” wybiera losowo jedną z czterech możliwych polaryzacji i wysyła do pana „Z” foton o takiej polaryzacji. Ciąg fotonów stanowi ciąg zer i jedynek z dwóch alfabetów kwantowych.
Krok 2
Pan „Z” wybiera losowo bazę prostą lub ukośną i wykonuje pomiar polaryzacji fotonu, który otrzymał od pani „Y”.
Krok 3
Pan „Z” notuje wyniki pomiarów zachowując je w tajemnicy.
Krok 4
Pan „Z” publicznie informuje panią „Y” jakiej bazy używał do pomiaru, zaś „Y” informuje go czy wybrany losowo typ pomiaru (baza prosta lub ukośna) był właściwy czy nie.
Krok 5
„Y” i „Z” przechowują wyniki pomiarów, dla których „Z” użył właściwej bazy. Wyniki tych pomiarów można zapisać w postaci binarnej przypisując zera polaryzacji 0 i 45 zaś jedynki polaryzacji 90 i 135. Uzyskany w ten sposób losowy ciąg zer i jedynek może stanowić klucz kryptograficzny
Uwagi
• Prawdopodobieństwo wyboru jednej z dwoch możliwych baz wynosi 1/2
• Prawdopodobieństwo pomiaru prawidłowej polaryzacji przy prawidłowym wyborze bazy wynosi 1
• Prawdopodobieństwo pomiaru prawidłowej polaryzacji przy nieprawidłowo wybranej bazie wynosi .
• Prawdopodobieństwo zarejestrowania prawidłowego bitu wynosi: . *1+. * . =3/4
• Prawdopodobieństwo zarejestrowania błędnego bitu wynosi 1/4