Tag: Kryptografia

17
sie

Elementy kryptografii

Bezpieczeństwo w sieci to ukryte algorytmy matematyczne. Zrozumienie działania mechanizmów kryptograficznych jest podstawą tworzenia skutecznych systemów informatycznych. W artykule zaprezentowane zostały informacje o dodatkowych mechanizmach bezpieczeństwa, do których należą: ślepe podpisy, systemy progowe i anonimowe kanały.

Ślepe podpisy

Idea ślepych podpisów została zaprezentowana w 1982 roku przez Davida Chauma. Polega ona na tym, że osoba otrzymująca zaszyfrowany plik podpisuje poprawność dokumentu nie znając jego zawartości. Mechanizm ten można porównać do użycia koperty i kalki. Strona wysyłająca, nazwijmy ją, Alicja wysyła do strony odbierającej, nazwanej Bob, zaklejony w kopercie dokument z informacją oraz kalką. Bob otrzymując kopertę potwierdza jej odbiór popisując się na niej nie otwierając jej. Jego podpis zostaje przez kalkę powielony na zamkniętym dokumencie. Ślepe podpisy mogą być implementowane za pomocą algorytmu RSA. Procedury symetrycznego szyfrowania nie są zwykle używane w czystej postaci, ponieważ w przypadku tych algorytmów zarządzanie kluczami jest zbyt skomplikowane. Dużo lepsze efekty daje stosowanie procedur hybrydowych. Stąd też najczęściej korzysta się z tymczasowych kluczy symetrycznych dołączanych do szyfrowanej nimi wiadomości, a następnie traktuje się je mocnym, asymetrycznym algorytmem RSA.

Rys. 1 Procedury mieszane z wykorzystaniem algorytmu RSA

Rys. 1 Procedury mieszane z wykorzystaniem algorytmu RSA

Alicja koduje wiadomość przed jej przesłaniem używając czynnika generowanego na podstawie klucza publicznego Boba. Alicja losuje liczbę r, która jest liczbą pierwszą. Następnie obliczana jest zakodowana wiadomość m. Bob otrzymuje zakodowaną wiadomość i do rozkodowania potrzebuje cząstkę wykładniczą. Wiadomość m wysyłana zostaje do Alicji która używając odwrotności r eliminuje z wiadomości r i otrzymuje wiadomość m podpisaną przez Boba.

2. Systemy progowe

Załóżmy istnienie pewnego sekretu S. Sekret taki można przesłać w całości ale jest on narażany na rozszyfrowanie. Istnieją sprawdzone metody, którą pozwalają dobrze zabezpieczyć informację. Należą do nich systemy progowe dzielące sekret w taki sposób, że do odtworzenia potrzebna jest pewna ilość jego części. Istnieje pewna para liczb na które podzielono sekret a m oznacza minimalną ilość części potrzebnych do odtworzenia sekretu. Przykładami systemów progowych są zaprezentowane niezależnie w 1979 roku protokoły: Blakley’a oraz Shamira. Oba te protokoły mają dwa istotne ograniczenia:

  • Każdy fragment sekretu musi mieć długość co najmniej równą długości sekretu
  • Protokół musi używać losowych bitów

Jeżeli przyjmiemy, że sekret S jest pewną liczbą z przedziału od 0 do n-1 to losujemy dla każdego uczestnika oprócz ostatniego liczbę S i z tego samego przedziału. Wszyscy uczestnicy za wyjątkiem ostatniego nie znają sekretu, ponieważ otrzymali losowe liczby Si . Jeśli będzie brakowało jakiegoś innego, k-tego, uczestnika, to pozostali będą mogli dodając swoje kawałki otrzymać liczbę S − SK . Tylko k-ty uczestnik zna liczbę SK. Rozważmy przykład: Sekret S jest liczbą z przedziału od 0 do 999 i S=803. Rozpatrzmy trzech uczestników, z których pierwszy losuje liczbę S1=272 a drugi liczbę S2 =995. Więc:

 

S3 = 803 − 272 − 995mod 1000 = − 464mod 1000 = 1000 − 464 = 536

 

Aby wszyscy uczestnicy mogli poznać sekret dodają swoje fragmenty otrzymując:

 

S=S1 + S2 + S3 mod 1000 = 1803mod 1000 = 803

 

Protokół Blakley’a jest przykładem systemu progowego gdzie do odtworzenia klucza wymagane są wszystkie jego części. Opiera się na założeniu, że do wyznaczenia punktu w n-wymiarowej przestrzeni potrzeba n podprzestrzeni o wymiarze n-1.

Rys.2 Protokół Blakley’a dla trzech wymiarów

Rys.2 Protokół Blakley’a dla trzech wymiarów

 

3. Anonimowe kanały

Chcąc ukryć tożsamość nadawcy można użyć mechanizmu anonimowego kanału uniemożliwiającego ukrycie tożsamości nadawcy. Mechanizm ten opiera się na sieciach mieszających składających się z serwerów Proxy, z których każdy posiada swój klucz publiczny i prywatny. Wiadomość przesyłana przez sieć mieszającą musi być zaszyfrowana kluczem publicznym serwera, który jako ostatni przesyłał wiadomość. Do przesłania potrzebna jest losowa wartość Nonce dodawana w celu uniemożliwienia odczytania funkcji mieszającej serwera. Wiadomość m gotowa do wysłania przez sieć mieszająca może być opisana jako:

gdzie:

n – ilość serwerów mieszających

Ni – i-ta wartość Nounce

PKi – klucz publiczny i-tego serwera

Każdy serwer po otrzymaniu wiadomości odszyfrowuje ją redukując wartość Nounce. Następnie wiadomość zostaje przemieszana za pomocą funkcji mieszającej i zostaje przesłana do kolejnego serwera. Dopiero ostatni serwer po rozszyfrowaniu uzyskuje rozkodowaną wiadomość m.

4. Podsumowanie:

Tradycyjne metody przesyłania wiadomości ulegają zmianom. Wraz z rozwojem technologii informacyjnych coraz więcej poufnych danych przesyłanych jest drogą elektroniczną. Stąd nacisk na zapewnienie bezpieczeństwa przesyłanym wiadomościom. Wykorzystując ślepe podpisy, systemy progowe i anonimowe kanały tworzymy mechanizmy do skutecznego zabezpieczenia krążących w sieci danych. Wymienione metody stanowią stale rozwijającą się, potężną dziedzinę wiedzy, która wymaga tworzenie coraz to nowych rozwiązań.

Używamy plików cookie

Nasza strona wykorzystuje pliki cookie, aby poprawić komfort korzystania z niej. Aby dowiedzieć się więcej o plikach cookie, których używamy, zapoznaj się z naszą witryną polityka prywatności.

Prosta polityka prywatności

Poniżej możesz zmienić ustawienia plików cookie nasze i naszych partnerów. Korzystanie przez nas z analitycznych plików cookie wymaga zgody użytkownika.

  • Analityka

    Analityczne pliki cookie służą do zrozumienia, w jaki sposób użytkownicy wchodzą w interakcję z witryną. Te pliki cookie pomagają dostarczać informacji na temat wskaźników liczby odwiedzających, współczynnika odrzuceń, źródła ruchu itp. Głównym celem analityki jest poprawa funkcjonalności witryny lub aplikacji.

    akceptacja
  • Niezbędne pliki cookie

    These cookies are used to provide you with a more personalized experience on our website and to remember choices you make when you use our website. For example, we may use functionality cookies to remember your language preferences or remember your login details.

    wymagany