Co to jest szyfrowanie i jak to działa?
Szyfrowanie ma długą historię sięgającą czasów, gdy starożytni Grecy i Rzymianie wysyłali tajne wiadomości, zastępując litery rozpoznawalne jedynie tajnym kluczem. Dołącz do nas, aby uzyskać szybką lekcję historii i dowiedzieć się więcej o tym, jak działa szyfrowanie.
W dzisiejszym wydaniu HTG Explains przedstawimy krótką historię szyfrowania, jego działania i przykłady różnych typów szyfrowania - sprawdź też poprzednią edycję, gdzie wyjaśniliśmy, dlaczego tak wielu geeków nienawidzi Internetu poszukiwacz.
Obraz wg xkcd, oczywiście.
Wczesne dni szyfrowania
Starożytni Grecy użyli narzędzia o nazwie Scytale, aby przyspieszyć szyfrowanie wiadomości za pomocą szyfru transpozycji - po prostu owinęliby pasek pergaminu wokół cylindra, napisali wiadomość, a potem, gdy rozwijana nie miałaby sensu.
Oczywiście ta metoda szyfrowania może być dość łatwa do złamania, ale jest to jeden z pierwszych przykładów szyfrowania faktycznie używanego w rzeczywistym świecie.
Juliusz Cezar użył w tym czasie nieco podobnej metody, przesuwając każdą literę alfabetu w prawo lub w lewo o kilka pozycji - technikę szyfrowania, znaną jako szyfr Cezara. Na przykład, używając poniższego przykładowego szyfrowania napisz "GEEK" jako "JHHN".
Zwykły: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Szyfr: DEFGHIJKLMNOPQRSTUVWXYZABC
Ponieważ tylko zamierzony odbiorca wiadomości znał szyfr, trudno byłoby następnej osobie odczytać wiadomość, która wyglądałaby jak bełkot, ale osoba, która miała szyfr, mogła łatwo ją odczytać i odczytać.
Inne proste szyfry szyfrujące, takie jak kwadrat Polibiusa, używały szyfrów polialfabetycznych, które wymieniały każdą literę z odpowiednimi pozycjami numerycznymi na górze i na boku, aby określić, gdzie znajduje się pozycja litery..
Używając tabeli podobnej do powyższej, napiszesz literę "G" jako "23" lub "GEEK" jako "23 31 31 43".
Maszyna Enigma
Podczas II wojny światowej Niemcy używali maszyny Enigma, aby przekazywać zaszyfrowane transmisje tam iz powrotem, co zajęło wiele lat, zanim Polacy byli w stanie złamać wiadomości i dać rozwiązanie siłom aliantów, które odegrały kluczową rolę w ich zwycięstwie..
Historia współczesnego szyfrowania
Spójrzmy prawdzie w oczy: nowoczesne techniki szyfrowania mogą być wyjątkowo nudnym tematem, dlatego zamiast tłumaczyć je słowami, stworzyliśmy komiks opowiadający o historii szyfrowania, zainspirowany rysunkiem figury Jeffa Mosera do AES. Uwaga: wyraźnie nie możemy przekazać wszystkiego na temat historii szyfrowania w komiksie.
W tamtych czasach ludzie nie mają dobrej metody szyfrowania, aby zabezpieczyć ich komunikację elektroniczną.
Lucyfer to nazwa nadana kilku najwcześniejszym cywilnym szyfrom blokowym, opracowana przez Horsta Feistela i jego kolegów z IBM.
Standard szyfrowania danych (DES) to szyfr blokowy (forma współużytkowanego tajnego szyfrowania), który został wybrany przez Krajowe Biuro Standardów jako oficjalny Federalny Standard Przetwarzania Informacji (FIPS) dla Stanów Zjednoczonych w 1976 roku i który później cieszył się szerokim spektrum używać w skali międzynarodowej.
Obawy o bezpieczeństwo i względnie powolne działanie DES w oprogramowaniu zmotywowało badaczy do zaproponowania różnorodnych alternatywnych projektów blokowych, które zaczęły pojawiać się pod koniec lat osiemdziesiątych i na początku lat dziewięćdziesiątych: przykłady obejmują RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 i OPŁATA
Algorytm szyfrowania Rijndael został przyjęty przez rząd Stanów Zjednoczonych jako standardowe szyfrowanie za pomocą klucza symetrycznego lub Advanced Encryption Standard (AES). AES został ogłoszony przez Narodowy Instytut Standardów i Technologii (NIST) jako US FIPS PUB 197 (FIPS 197) w dniu 26 listopada 2001 r. Po 5-letnim procesie normalizacji, w którym piętnaście konkurencyjnych projektów zostało zaprezentowanych i ocenionych zanim Rijndael został wybrany jako najbardziej odpowiedni algorytm szyfrowania.
Wydajność algorytmu szyfrowania
Istnieje wiele algorytmów szyfrowania i wszystkie są odpowiednie do różnych celów - dwie główne cechy, które identyfikują i różnicują jeden algorytm szyfrowania, to jego zdolność do zabezpieczania danych chronionych przed atakami oraz ich szybkości i wydajności w tym zakresie..
Jako dobry przykład różnicy prędkości pomiędzy różnymi typami szyfrowania, możesz użyć narzędzia analizy porównawczej wbudowanego w kreator tworzenia wolumenu TrueCrypt - jak widać, AES jest zdecydowanie najszybszym rodzajem silnego szyfrowania.
Dostępne są zarówno wolniejsze, jak i szybsze metody szyfrowania i wszystkie nadają się do różnych celów. Jeśli od czasu do czasu próbujesz odszyfrować niewielką ilość danych, możesz pozwolić sobie na użycie najsilniejszego szyfrowania, a nawet szyfrowania go dwa razy przy użyciu różnych typów szyfrowania. Jeśli potrzebujesz prędkości, prawdopodobnie chcesz iść z AES.
Aby uzyskać więcej informacji na temat porównywania różnych typów szyfrowania, sprawdź raport z Uniwersytetu Waszyngtońskiego w St. Louis, gdzie wykonano mnóstwo testów na różne procedury i wyjaśniono wszystko w bardzo zręcznym napisie..
Rodzaje nowoczesnego szyfrowania
Cały wymyślny algorytm szyfrowania, o którym mówiliśmy wcześniej, jest najczęściej używany do dwóch różnych typów szyfrowania:
- Symetryczne algorytmy kluczowe używać powiązanych lub identycznych kluczy szyfrujących do szyfrowania i odszyfrowywania.
- Asymetryczne algorytmy kluczowe używaj różnych kluczy do szyfrowania i odszyfrowywania - jest to zwykle nazywane kryptografią klucza publicznego.
Szyfrowanie klucza symetrycznego
Aby wyjaśnić tę koncepcję, użyjemy metafory usług pocztowych opisanych w Wikipedii, aby zrozumieć, jak działają algorytmy klucza symetrycznego.
Alice umieszcza swoją tajną wiadomość w pudełku i zamyka pudełko za pomocą kłódki, do której ma klucz. Następnie wysyła skrzynkę do Boba zwykłą pocztą. Kiedy Bob otrzymuje pudełko, używa identycznej kopii klucza Alicji (który jakoś wcześniej uzyskał, być może przez spotkanie twarzą w twarz), aby otworzyć pudełko i przeczytać wiadomość. Bob może następnie użyć tej samej kłódki, aby wysłać swoją tajną odpowiedź.
Algorytmy z kluczem symetrycznym mogą być podzielone na szyfry strumieniowe, a szyfry blokowe szyfrujące szyfrują bity wiadomości pojedynczo, a szyfry blokowe pobierają pewną liczbę bitów, często w blokach po 64 bity na raz, i szyfrują je jako jedna jednostka. Istnieje wiele różnych algorytmów do wyboru - bardziej popularne i szanowane algorytmy symetryczne obejmują Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES i IDEA.
Szyfrowanie asymetryczne
W asymetrycznym systemie klawiszy, Bob i Alice mają oddzielne kłódki, zamiast pojedynczej kłódki z wieloma kluczami z symetrycznego przykładu. Uwaga: jest to oczywiście bardzo uproszczony przykład tego, jak to naprawdę działa, co jest o wiele bardziej skomplikowane, ale dostaniesz ogólny pomysł.
Po pierwsze, Alice prosi Boba, by wysłał jej otwartą kłódkę za pomocą zwykłej poczty, trzymając klucz dla siebie. Gdy Alicja go otrzyma, używa jej do zablokowania skrzynki zawierającej jej wiadomość i wysyła zablokowane pudełko do Boba. Bob może następnie odblokować pudełko za pomocą klucza i przeczytać wiadomość od Alicji. Aby odpowiedzieć, Bob musi podobnie otworzyć otwartą kłódkę Alice, aby zamknąć pudełko, zanim odeśle je do niej.
Kluczową zaletą w asymetrycznym systemie kluczy jest to, że Bob i Alice nigdy nie muszą wysyłać kopii swoich kluczy do siebie nawzajem. Zapobiega to kopiowaniu klucza przez osobę trzecią (np. Uszkodzonemu pracownikowi pocztowemu) podczas przesyłania, pozwalając osobie trzeciej na szpiegowanie wszystkich przyszłych wiadomości przesyłanych między Alicją i Bobem. Ponadto, jeśli Bob był nieostrożny i pozwolił komuś innemu skopiować jego klucz, wiadomości Alice do Boba zostałyby naruszone, ale wiadomości Alice do innych ludzi pozostaną tajemnicą, ponieważ inni ludzie będą dostarczać różne kłódki do wykorzystania przez Alice.
Szyfrowanie asymetryczne wykorzystuje różne klucze do szyfrowania i odszyfrowywania. Odbiorca wiadomości tworzy klucz prywatny i klucz publiczny. Klucz publiczny jest dystrybuowany wśród nadawców wiadomości i używa klucza publicznego do szyfrowania wiadomości. Odbiorca używa swojego klucza prywatnego zaszyfrowane wiadomości, które zostały zaszyfrowane przy użyciu klucza publicznego odbiorcy.
Jest jedna główna korzyść z szyfrowania w ten sposób, w porównaniu do szyfrowania symetrycznego. Nigdy nie musimy wysyłać niczego tajnego (takiego jak nasz klucz szyfrowania lub hasło) do niezabezpieczonego kanału. Twój klucz publiczny wychodzi na świat - nie jest tajemnicą i nie musi być. Twój klucz prywatny może pozostać przytulny i przytulny na komputerze osobistym, na którym został wygenerowany - nigdy nie musi być wysyłany e-mailem w dowolnym miejscu lub czytany przez intruza.
Jak szyfrowanie zabezpiecza komunikację w sieci
Przez wiele lat protokół SSL (Secure Sockets Layer) zabezpieczał transakcje internetowe za pomocą szyfrowania między przeglądarką internetową a serwerem sieciowym, chroniąc Cię przed wszystkimi, którzy mogą podsłuchiwać w sieci w środku.
Sam SSL jest koncepcyjnie dość prosty. Zaczyna się, gdy przeglądarka wymaga bezpiecznej strony (zwykle https: //)
Serwer sieciowy wysyła swój klucz publiczny wraz z certyfikatem.
Przeglądarka sprawdza, czy certyfikat został wydany przez zaufaną stronę (zazwyczaj zaufany główny urząd certyfikacji), że certyfikat jest nadal ważny i czy certyfikat jest powiązany ze skontaktowaną witryną.
Następnie przeglądarka używa klucza publicznego do szyfrowania losowego symetrycznego klucza szyfrowania i wysyła go do serwera z wymaganym zaszyfrowanym adresem URL oraz innymi zaszyfrowanymi danymi http.
Serwer sieciowy odszyfrowuje symetryczny klucz szyfrowania za pomocą swojego klucza prywatnego i używa klucza symetrycznego przeglądarki do odszyfrowania danych URL i http.
Serwer WWW odsyła żądany dokument HTML i dane HTTP zaszyfrowane za pomocą klucza symetrycznego przeglądarki. Przeglądarka odszyfrowuje dane http i dokument HTML za pomocą klucza symetrycznego i wyświetla informacje.
A teraz możesz bezpiecznie kupić przedmiot w serwisie eBay, którego naprawdę nie potrzebujesz.
Czy nauczyłeś się czegoś?
Jeśli dotarłeś tak daleko, jesteśmy na końcu naszej długiej podróży do zrozumienia szyfrowania i odrobiny tego, jak to działa - poczynając od pierwszych dni szyfrowania z Grekami i Rzymianami, powstania Lucyfera, i wreszcie, jak SSL wykorzystuje szyfrowanie asymetryczne i symetryczne, aby pomóc Ci kupić puszystego różowego króliczka na eBayu.
Jesteśmy wielkimi fanami szyfrowania w How-To Geek i mamy wiele różnych sposobów na zrobienie takich rzeczy jak:
- Pierwsze kroki z TrueCrypt (aby zabezpieczyć swoje dane)
- Dodaj automatyczne szyfrowanie witryny do przeglądarki Firefox
- BitLocker To Go Szyfruje przenośne dyski flash w systemie Windows 7
- Jak zabezpieczyć swój komputer Linux przez zaszyfrowanie dysku twardego
- Dodaj opcje szyfrowania / odszyfrowywania do Windows 7 / Vista Kliknij prawym przyciskiem myszy Menu
- Pierwsze kroki z programem TrueCrypt Drive Encryption w systemie Mac OS X.
Oczywiście szyfrowanie jest zbyt skomplikowanym tematem, aby naprawdę wszystko wyjaśnić. Czy przegapiliśmy coś ważnego? W komentarzach możesz znaleźć wiedzę o swoich czytelnikach.