Strona główna

Jest to szereg kroków, obejmujących dwie lub więcej stron, podejmowanych w celu realizacji zadania. Jest to inaczej mówiąc sekwencja działań, każde z nich musi być kolejno wykonane i żadne nie może być podjęte


Pobieranie 343.43 Kb.
Strona6/10
Data19.06.2016
Rozmiar343.43 Kb.
1   2   3   4   5   6   7   8   9   10

PRZESŁANIE NIEZAPRZECZALNE

Realizowane jest gdy jedna ze stron ma do przekazania pewną wiadomość (ciąg bitów) za gratyfikacją, druga strona potrzebuje tej wiadomości, nie chce kupować „kota w worku” i strony nie ufają sobie.

Użytkownik A przesyła grupę wiadomości użytkownikowi B. Użytkownik B otrzymuje podzbiór tych wiadomości, ale użytkownik A nie wie, które z nich on otrzymał.


Najistotniejsze jest tu przesłanie od użytkownika A do B dwóch wiadomości, przy czym użytkownik B otrzymuje jedną z nich, natomiast użytkownik A nie wie którą.

Opis protokołu:
  1. użytkownik A wytwarza dwie pary kluczy jawny/prywatny lub jednocześnie cztery klucze, przesyła oba klucze jawne użytkownikowi B,

  2. użytkownik B wybiera klucz w algorytmie symetrycznym, losowo pobiera jeden z kluczy jawnych użytkownika A i za jego pomocą szyfruje swój klucz algorytmu symetrycznego, przesyła zaszyfrowany klucz użytkownikowi A bez wskazania który z jej kluczy jawnych został wykorzystany do szyfrowania;

  3. użytkownik A deszyfruje klucz użytkownika B, używając obu swoich kluczy prywatnych, w jednym z przypadków używa on poprawnego klucza i skutecznie deszyfruje klucz algorytmu symetrycznego użytkownika B, ponieważ nie zna który klucz tego algorytmu jest poprawny (oba ciągi wyjściowe podobne są do ciągów losowych) oba ciągi są dla niej równoprawne;

  4. użytkownik A szyfruje, wykorzystując algorytm symetryczny, jedną wiadomość przy użyciu pierwszej wersji klucza i drugą za pomocą drugiej wersji klucza, oba wyniki przesyła do użytkownika B;

  5. użytkownik B deszyfruje obie wiadomości przy użyciu poprawnego klucza algorytmu symetrycznego, ale w wyniku otrzymuje tylko jedną z dwóch poprawną wiadomość;

  6. po zakończeniu protokołu, gdy są znane oba możliwe wyniki przesłania użytkownik A może przesłać do B swój klucz prywatny, aby mógł on sprawdzić, czy on nie oszukuje.

JEDNOCZESNE PODPISYWANIE KONTRAKTÓW


Podstawowy protokół podpisywania kontraktu z wykorzystaniem arbitra


Dwie osoby A i B chcą podpisać kontrakt zdalnie i zarazem nie ufają sobie.
Opis protokołu:

  1. użytkownik A podpisuje kopię kontraktu i przesyła go do Arbitra;

  2. użytkownik B podpisuje kopię kontraktu i przesyła ją do Arbitra;

  3. Arbiter wysyła wiadomość do każdego z użytkowników oznajmiając, że druga strona podpisała kontrakt;

  4. użytkownik A podpisuje dwie kopie kontraktu i wysyła je do użytkownika B;

  5. użytkownik B podpisuje obie kopie kontraktu, zatrzymuje jedną dla siebie, drugą odsyła użytkownikowi A;

  6. użytkownicy A i B informują Arbitra, że każde z nich posiada już kopię kontraktu podpisanego przez każdą ze stron;

  7. Arbiter niszczy obie kopie kontraktu podpisane przez jedną tylko ze stron.


Arbiter stanowi gwarancję, że druga strona nie wycofa się w trakcie realizacji protokołu.
Podpisywanie kontraktu bez udziału arbitra
Protokół ten opiera się na serii oświadczeń stron, które mówią, że dana strona z prawdopodobieństwem p jest zobowiązana zapisami kontraktu.
Opis protokołu:

  1. użytkownicy A i B ustalają na wstępie datę i czas zakończenia działania protokołu podpisania kontraktu;

  2. użytkownicy A i B decydują o różnicy prawdopodobieństw, według której zgadzają się następnie postępować; użytkownik A ustala, że nie chce być związany kontraktem z prawdopodobieństwem większym niż X ponad prawdopodobieństwo użytkownika B, podobnie czyni użytkownik B ustalając różnicę Y;

  3. użytkownik A przesyła do użytkownika B podpisaną wiadomość z p = X;

  4. użytkownik B przesyła do A podpisaną wiadomość z p = X + Y;

  5. użytkownik A przesyła do B podpisaną wiadomość zawsze z prawdopodobieństwem pk = pk-1 + X lub 1, w zależności od tego która wartość jest mniejsza;

  6. podobnie w przypadku użytkownika B, który przesyła wiadomość podpisaną z prawdopodobieństwem pk = pk-1 + Y lub 1 w zależności od tego która wartość jest mniejsza;

  7. użytkownicy A i B kontynuują wykonywanie naprzemiennie kroków 5) i 6), dopóki oboje nie odbiorą wiadomości z prawdopodobieństwem p = 1 lub nie upłynie ustalony wcześniej czas.


W przypadku, gdy protokół kończy się z prawdopodobieństwem mniejszym niż 1 lub zostanie przerwany strony udają się do Arbitra, który losowo wybiera wartość z przedziału (0, 1). Jeżeli ta wartość jest mniejsza niż wartość p, to obie strony są związane kontraktem, w przeciwnym przypadku nie.

Zastosowanie metod kryptograficznych do podpisywania kontraktów bez udziału arbitra
W przykładzie poniższym użyty jest algorytm DES, jednak możliwe jest zastosowanie innych algorytmów blokowych.
Opis protokołu:

  1. użytkownicy A i B wybierają losowo po 200 kluczy DES, pogrupowanych w pary;

  2. użytkownicy A i B wytwarzają 100 par wiadomości Ln i Rn: „lewa połowa mojego n-tego podpisu” i „prawa połowa mojego n-tego podpisu”, n przyjmuje wartości od 1 do 100, wiadomości te również zawierają podpis cyfrowy kontraktu i znacznik czasu, kontrakt uważa się za podpisany, jeżeli druga strona potrafi utworzyć dwie połówki Ln i Rn pojedynczej pary podpisów;

  3. obie strony szyfrują swoje pary wiadomości za pomocą każdej pary kluczy DES, lewą wiadomość za pomocą klucza lewego w parze i prawą za pomocą klucza prawego w parze;

  4. użytkownicy przesyłają sobie wzajemnie swoje 200 zaszyfrowanych wiadomości, upewniając się przy tym, że druga strona wie, które wiadomości są którymi połówkami z których par;

  5. użytkownicy przesyłają sobie wzajemnie każdą parę kluczy, stosując protokół przesłania niezaprzeczalnego dla każdej pary, oznacza to, że użytkownik A przesyła do B albo klucz używany do zaszyfrowania lewej wiadomości, albo klucz używany do zaszyfrowania prawej wiadomości; niezależnie, dla każdej ze 100 swoich par podobnie czyni użytkownik B; przesłania mogą być naprzemienne lub całościowe dla każdej ze stron; obie strony po przesłaniach mają jeden klucz z każdej pary kluczy, ale żadne z nich nie wie, które połowy ma druga strona;

  6. użytkownicy A i B deszyfrują te połowy wiadomości, które mogą za pomocą otrzymanych kluczy, upewniają się, że odszyfrowane wiadomości są poprawne;

  7. użytkownicy A i B przesyłają sobie wzajemnie naprzemian pierwsze bity 200 kluczy DES;

  8. użytkownicy A i B powtarzają krok 7) dla pozostałych bitów, dopóki nie prześlą wszystkich bitów dla wszystkich kluczy DES;

  9. użytkownicy A i B deszyfrują pozostałe połowy par wiadomości i kontrakt jest podpisany.


Wady protokołu:

    • jedna ze stron ma przewagę obliczeniową i może przerwać protokół w trakcie kroku 8), łamiąc pozostałe nieznane bity kluczy,

    • jedna ze stron zatrzyma protokół w przypadku kontraktu zobowiązującego drugą stronę do realizacji jakiegoś zadania w bardzo krótkim terminie, bez realnej możliwości dla zobowiązywanej strony do zakończenia podpisywania kontraktu bez drugiej strony,

    • pomyślna kryptoanaliza zastosowanego algorytmu przez jedną ze stron daje jej przewagę nad drugą.


1   2   3   4   5   6   7   8   9   10


©snauka.pl 2016
wyślij wiadomość