Kryptografii asymetrycznej jest dziedziną kryptografii gdzie istnieje rozróżnienie między danymi publicznej i prywatnej , w przeciwieństwie do kryptografii symetrycznej , gdzie funkcjonalność osiąga się poprzez posiadanie wspólnego tajnych danych między uczestnikami.
Kryptografię asymetryczną można zilustrować na przykładzie szyfrowania kluczem publicznym i prywatnym , które jest techniką szyfrowania , to znaczy, że celem jest zagwarantowanie poufności danych. Termin asymetryczny dotyczy tego, że istnieją dwa klucze szyfrowania (użytkownik, który chce otrzymywać wiadomości, sam się produkuje), na przykład jeśli użytkownik używa pierwszego klucza w algorytmie zwanym „szyfrowaniem”, dane stają się nieczytelne dla wszystkich, którzy nie mają drugiego klucza, który może znaleźć początkową wiadomość, gdy ten drugi klucz zostanie podany na wejściu tak zwanego algorytmu „deszyfrowania”.
Zgodnie z konwencją klucz deszyfrujący nazywamy kluczem prywatnym, a klucz szyfrowania kluczem publicznym .
Klucz, który jest wybrany jako prywatny, nigdy nie jest przesyłany nikomu, natomiast klucz, który jest wybrany jako publiczny, jest zbywalny bez ograniczeń.
Ten system pozwala na dwie główne rzeczy:
Koncepcja kryptografii klucza publicznego – inna nazwa kryptografii asymetrycznej – jest ogólnie przypisywana Whitfieldowi Diffie i Martinowi Hellmanowi, którzy zaprezentowali ją publicznie na National Computer Conference w 1976 roku , a następnie opublikowali kilka miesięcy później w New Directions in Cryptography . Koncepcja ta została jednak podobno niezależnie odkryta przez innych badaczy mniej więcej w tym samym czasie.
Mówi się, że Ralph Merkle dokonał tego samego odkrycia mniej więcej w tym samym czasie, chociaż jego artykuły zostały opublikowane dopiero w 1978 roku.
W swoim artykule z 1976 roku W. Diffie i M. Hellman nie mogli podać przykładu systemu klucza publicznego, ponieważ go nie znaleźli. Dopiero w 1978 r. pojawił się przykład Ronalda Rivesta , Adi Shamira i Leonarda Adlemana , RSA , skrót zaczerpnięty od trzech nazwisk jego autorów. Trzej mężczyźni założyli następnie firmę RSA Security . System Merkle-Hellman jest powszechnie uważany za pierwszą praktyczną realizację systemu szyfrowania z kluczem publicznym, jednak w 1982 roku Shamir udowodnił, że jest niepewny.
Oprócz badań publicznych brytyjskie służby szyfrujące (GCHQ, Government Communications Headquarters ) przeprowadziłyby tajne badania prowadzące do koncepcji i narzędzi szyfrowania asymetrycznego z pierwszej połowy lat 70.:
Te odkrycia nie zostały upublicznione przez GCHQ aż do 1997 roku .
Szyfrowanie asymetryczne lub kryptografii klucza publicznego opiera się na istnieniu jednokierunkowych funkcji i tajnego naruszenia .
Jednokierunkowe funkcje są matematyczne funkcje takie, które po nałożeniu na wiadomość, to jest bardzo trudne do znalezienia oryginalnej wiadomości.
Istnienie tajnego naruszenia pozwala jednak osobie, która zaprojektowała funkcję jednokierunkową, na łatwe odszyfrowanie wiadomości dzięki posiadanej informacji, zwanej kluczem prywatnym.
Załóżmy, że Alicja chce otrzymać tajną wiadomość od Boba na kanale, który może być podsłuchiwany przez pasywną atakującą Ewę :
Konwencjonalnie stosowana terminologia to:
W praktyce stosowane są konwencjonalne funkcje szyfrowania , a terminy „klucz publiczny” i „klucz prywatny” odpowiadają parametrom stosowanym w tych funkcjach.
Alice chciałaby otrzymywać zaszyfrowane wiadomości od każdego.
Dystrybucja kluczy publicznychNastępnie generuje wartość z jednokierunkowej, tajnej funkcji naruszenia przy użyciu algorytmu szyfrowania asymetrycznego ( wymień tutaj ), np . RSA .
Alicja rozgłasza funkcję kodowania wiadomości do wszystkich (oznaczany kluczem publicznym), ale zachowuje w tajemnicy funkcję dekodowania (oznaczony kluczem prywatnym).
SzyfrowanieJedną z ról klucza publicznego jest zapewnienie szyfrowania ; To jest klucz, którego Bob użyje do wysłania zaszyfrowanych wiadomości do Alicji. Drugi klucz - tajne informacje - używany do oceny ilościowej w kości . W ten sposób Alice i tylko ona może czytać wiadomości Boba. Znajomość jednego klucza nie pozwala nam wydedukować drugiego.
Uwierzytelnianie pochodzeniaZ drugiej strony użycie przez Alicję jej klucza prywatnego w streszczeniu wiadomości pozwoli Bobowi zweryfikować, czy wiadomość rzeczywiście pochodzi od Alicji: zastosuje klucz publiczny Alicji do podanego skrótu (zaszyfrowany skrót za pomocą klucza prywatnego Alicji) i dlatego wyszukuje streszczenie oryginalnej wiadomości. Wystarczy, że porówna otrzymany w ten sposób skrót z rzeczywistym skrótem wiadomości, aby wiedzieć, czy Alicja rzeczywiście jest nadawcą. W ten sposób Bob zostanie uspokojony o pochodzenie otrzymanej wiadomości: tak naprawdę należy ona do Alice. To na tym mechanizmie w szczególności działa podpis cyfrowy .
Szyfrowanie: Alicja wybrała sejf. Wysyła je otwarte do Boba i zatrzymuje klucz. Kiedy Bob chce napisać do Alice, zostawia tam swoją wiadomość, zamyka sejf, nie potrzebuje do tego klucza i odsyła go z powrotem do Alice. Po otrzymaniu sejfu może otworzyć tylko Alicja, ponieważ ona sama ma klucz, zakładając sejf, i nikt nie może go przerobić.
Uwierzytelnianie lub podpis: Alicja umieszcza wiadomość w sejfie, którą zamyka swoim kluczem prywatnym przed wysłaniem jej do Boba. Jeśli Bobowi udaje się odczytać list za pomocą klucza publicznego Alicji (który ma), to dlatego, że jest to list Alicji i dlatego to ona umieściła tam list.
Pudełko z dwoma zamkamiInną możliwą analogią byłoby wyobrażenie sobie pudełka z dwoma różnymi zamkami. Gdy skrzynka jest zamknięta z jednej strony, tylko klucz odpowiadający drugiemu zamkowi umożliwia otwarcie skrzynki i odwrotnie. Jeden z kluczy jest prywatny i utrzymywany w tajemnicy, drugi jest uważany za publiczny, a kopię może uzyskać każdy, kto chce skorzystać z tej skrzynki.
Aby zaszyfrować wiadomość, Bob bierze pudełko, umieszcza tam swoją wiadomość i zamyka ją kluczem publicznym. Tylko posiadacz klucza prywatnego umożliwiającego dostęp do drugiego zamka, w tym przypadku Alicja, będzie mógł ponownie otworzyć skrzynkę.
Aby podpisać wiadomość, Alicja umieszcza ją w pudełku i zamyka za pomocą swojego klucza prywatnego. Tak więc każdy, kto odzyska klucz publiczny, będzie mógł otworzyć skrzynkę. Ale ponieważ skrzynka została zamknięta kluczem prywatnym, osoba ta będzie miała pewność, że to rzeczywiście Alicja, jedyna posiadaczka tego klucza, umieści wiadomość w skrzynce i zamknie wspomnianą skrzynkę.
W zamian za swoje specyficzne właściwości szyfry asymetryczne są generalnie mniej wydajne niż ich symetryczne odpowiedniki : czasy przetwarzania są dłuższe, a dla równoważnego poziomu bezpieczeństwa klucze muszą być znacznie dłuższe.
Jeśli szyfrowanie asymetryczne pozwala zabezpieczyć się przed pasywnym podsłuchem , początkowa transmisja klucza publicznego na niezabezpieczonym kanale naraża na ataki człowieka pośrodku . Aby zabezpieczyć się przed tym ryzykiem, zazwyczaj stosuje się infrastrukturę klucza publicznego .
Kryptografia asymetryczna spełnia główną potrzebę kryptografii symetrycznej : bezpieczne współdzielenie klucza między dwoma korespondentami, aby zapobiec przechwyceniu tego klucza przez nieuprawnioną stronę trzecią, a tym samym odczytaniu zaszyfrowanych danych bez autoryzacji.
Ponieważ mechanizmy szyfrowania symetrycznego są mniej kosztowne w czasie obliczeń , są one preferowane od mechanizmów szyfrowania asymetrycznego. Jednak każde użycie symetrycznego klucza szyfrowania wymaga, aby dwaj korespondenci współdzielili ten klucz, to znaczy znali go przed wymianą. Może to stanowić problem, jeśli komunikacja tego klucza odbywa się za pośrednictwem niezabezpieczonego nośnika , „w czystym stanie”. Aby przezwyciężyć tę wadę, do jedynej fazy wymiany klucza symetrycznego wykorzystywany jest mechanizm szyfrowania asymetrycznego, a ten ostatni jest wykorzystywany do dalszej części wymiany.
Główną wadą korzystania z mechanizmów szyfrowania asymetrycznego jest fakt, że klucz publiczny jest dystrybuowany do wszystkich osób: Boba , Carole i Alice chcących poufnie wymieniać dane. Dlatego też, gdy osoba z kluczem prywatnym, Alice , odszyfrowuje zaszyfrowane dane, nie ma możliwości zweryfikowania z całą pewnością pochodzenia tych danych ( Bob lub Carole ): mówimy o problemach z uwierzytelnianiem .
W celu rozwiązania tego problemu wykorzystywane są mechanizmy uwierzytelniania gwarantujące pochodzenie zaszyfrowanych informacji. Mechanizmy te opierają się również na szyfrowaniu asymetrycznym, którego zasada jest następująca: Bob chce wysłać zaszyfrowane dane do Alicji, gwarantując jej, że jest nadawcą.
Ta metoda uwierzytelniania wykorzystuje specyfikę asymetrycznych par kluczy: jeśli szyfrujemy wiadomość za pomocą klucza publicznego, możemy odszyfrować wiadomość za pomocą klucza prywatnego; możliwa jest również odwrotność: jeśli szyfrujemy kluczem prywatnym, to możemy odszyfrować kluczem publicznym.
Kryptografia asymetryczna jest również stosowana w przypadku certyfikatów cyfrowych , które zawierają klucz publiczny podmiotu powiązanego z certyfikatem. Klucz prywatny jest przechowywany na poziomie tej ostatniej jednostki. Aplikacja certyfikatu to na przykład implementacja infrastruktury klucza publicznego (PKI) do zarządzania uwierzytelnianiem i podpisem cyfrowym podmiotu, na przykład serwera WWW (np. Apache z modułem SSL ) lub po prostu klienta, który chce podpisać i zaszyfruj informacje przy użyciu ich certyfikatu, jak opisano w poprzednich sekcjach.
Szyfrowanie symetryczne przy użyciu klucza 128- bitowego zapewnia 2128 (~3,4 10 38 ) sposobów szyfrowania wiadomości. Haker próbujący brutalnie rozszyfrować wiadomość musiałby wypróbować je jeden po drugim.
W przypadku systemów klucza publicznego jest inaczej. Po pierwsze, klucze są dłuższe (na przykład minimum 2048 bitów dla RSA ); w rzeczywistości mają bardzo specyficzną strukturę matematyczną (nie można wybrać sekwencji losowych bitów jako tajnego klucza, na przykład w przypadku RSA używane są tylko liczby pierwsze ). Niektóre algorytmy wykorzystujące tę strukturę są bardziej wydajne niż wyczerpujące wyszukiwanie na przykład na 1024 bitach. Tak więc w przypadku RSA ogólne sito pól liczbowych jest bardziej wydajną metodą niż wyczerpujące poszukiwanie faktoryzacji .
Należy zwrócić uwagę na obecny rozwój kryptografii przy użyciu krzywych eliptycznych , które umożliwiają (kosztem bardziej złożonej teorii i implementacji) użycie kluczy znacznie mniejszych niż w przypadku konwencjonalnych algorytmów (rozmiar 160 bitów jest obecnie uważany za bardzo bezpieczny), dla równoważny poziom bezpieczeństwa.
W wydaniu z 6 września 2013 r . gazeta The Guardian twierdziła, że NSA była w stanie odszyfrować większość zaszyfrowanych danych krążących w Internecie. Jednak wiele źródeł wskazało, że NSA nie złamała matematycznie szyfrów, ale polegała na słabościach we wdrażaniu protokołów bezpieczeństwa.