Kryptografia, której nie można złamać
Brawo Polacy! Dr Krzysztof Gołofit i dr hab. inż. Piotr Wieczorek z Wydziału Elektroniki Politechniki Warszawskiej zaproponowali nową koncepcję nienaruszalnych zabezpieczeń, niestosowaną dotychczas w światowej kryptografii.
To, że każdy człowiek jest inny, wie chyba każdy. Dzielą nas od siebie jednak nie tylko czynniki na poziomie wyglądu, ale również w ramach głębokich struktur genetycznych. To samo dotyczy innych przedmiotów fizycznych, które – po dokładniejszym zbadaniu ich struktur pod mikroskopem – różnią się znacząco również na poziomie molekularnym. Innymi słowy – nie ma dwóch takich samych szpilek, nie ma dwóch takich samych płatków śniegu i wreszcie – nie ma dwóch osób, które miałyby identyczne linie papilarne.
Rewolucja w kryptografii, czyli na czy polega fenomen propozycji warszawskich naukowców?
Powyższe prawidła znalazły nareszcie zastosowanie w kryptografii. Chodzi o wykorzystanie mikroskopijnych różnic w strukturach układów elektronicznych. Rozumiane i traktowane jako odciski palców, stanowią one podstawę do opracowania wyjątkowo bezpiecznych, właściwie nie dających się złamań zabezpieczeń kryptograficznych, które są rewolucja na skalę światową.
Klucze
Osobom choć trochę zaznajomionym z mechaniką i terminologią kryptograficzną, nie jest z pewnością obce określenie „klucz”. Naukowcy z Politechniki Warszawskiej doskonale zdają sobie sprawę z tego, jak różne metodologie tworzenia kluczy kryptograficznych mogą wpływać na stopień ich bezpieczeństwa. Powszechnie stosowany mechanizm generowania liczb losowych – na przykład – generuje pewną losową wartość, którą nazywamy ziarnem. Wiadomo jednak, że takie ziarno nigdy nie jest w pełni losowe, jako że zawsze stanowi odzwierciedlenie pewnych operacji matematycznych.
To trochę tak jak z hasłami. Im bardziej losowe jest ziarno, tym – na jego podstawie – wygenerować można trudniejszy do złamania klucz. W dużej mierze problem sprowadza się do tego, że jeżeli ktoś jest świadomy mechaniki tworzenia ziarna, ma ułatwione zadanie w kontekście rozszyfrowania klucza…
Generowanie ziarna w oparciu o unikalność układów elektronicznych
W kontekście propozycji warszawskich naukowców, klucz kryptograficzny generowany jest z wykorzystaniem unikalnej – co do swojej natury struktury układu elektronicznego. Każdy jeden tranzystor będzie różnił się strukturalnie od drugiego. Te niedostrzegalne gołym okiem różnice maja stanowić cechy wyróżniające i odróżniające, niczym odciski palców.
To właśnie powyższe różnice i niedoskonałości w budowie układów elektronicznych mają stanowić podstawę do wykorzystania w pracy nad nową koncepcją zabezpieczeń kluczy kryptograficznych.
Badacze zaznaczają, że tego typu zabezpieczenia są nie do złamania. W tym modelu nie istnieje bowiem sposób, aby dotrzeć do ziarna, ponieważ jest ono zależne od zastosowanej struktury tranzystorów:
„Taki układ jest również niewrażliwy na ataki typu side-channel, w których ktoś próbuje złamać zabezpieczenia, „podsłuchując” urządzenie elektromagnetycznie, czyli przepływ prądu w układzie” – tłumaczy dr inż. Krzysztof Gołofit.
Nie całkiem off-topic, czyli dwa słowa o kryptografii w Bitcoin
W sieci Bitcoin mamy dwa rodzaje kluczy. klucz publiczny – transparentny i znany wszystkim „adres” naszego kryptowalutowego porfela i klucz prywatny – swoisty, cyfrowy podpis – autoryzacja tego, że nasze cyfrowe monety są … właśnie… nasze. Podpisując transakcję w Bitcoin kluczem prywatnym sieć ma również pewność, że dana moneta nie została wydana dwa razy, czyli nie doszło do tak zwanego „double spendingu”.
Klucz prywatny może przybierać kilka różnych form, zwykle przedstawianych jako ciąg znaków alfanumerycznych, co utrudnia włamanie hakerom. Większość użytkowników przedstawia klucze portfela w formacie importu portfela, który ma 51 znaków. Potraktuj adres publiczny jako skrzynkę pocztową, a klucz prywatny jako klucz do skrzynki. Listonosz, a tak naprawdę każdy, może włożyć listy i małe paczki przez otwór w skrzynce pocztowej. Jednak jedyną osobą, która może pobrać zawartość skrzynki pocztowej, jest ta, która ma unikalny klucz. Dlatego ważne jest, aby przechowywać klucz w bezpiecznym miejscu, ponieważ w przypadku kradzieży, skrzynka pocztowa może zostać przejęta.
Portfel cyfrowy przechowuje klucz prywatny użytkownika. Po zainicjowaniu transakcji oprogramowanie portfela tworzy podpis cyfrowy, przetwarzając transakcję za pomocą klucza prywatnego. Zapewnia to bezpieczny system, ponieważ jedynym sposobem na wygenerowanie prawidłowego podpisu dla danej transakcji jest użycie klucza prywatnego. Podpis służy do potwierdzenia, że transakcja pochodzi od określonego użytkownika i zapewnia, że transakcja nie może zostać zmieniona po jej przeprocesowaniu. Jeśli transakcja zostanie nawet nieznacznie zmieniona, podpis również się zmieni.
Jeśli użytkownik zgubi swój klucz prywatny, nie będzie miał dostępu do portfela, aby wydawać, wypłacać lub przesyłać monety. Dlatego konieczne jest zapisanie klucza prywatnego w bezpiecznym miejscu. Portfel cyfrowy zawierający klucz prywatny można przechowywać na wiele sposobów. Klucze prywatne można przechowywać w portfelach papierowych, które są dokumentami, na których wydrukowano klucz prywatny i kod QR, aby można je było łatwo zeskanować, gdy transakcja musi zostać podpisana.
Klucze prywatne można również przechowywać w portfelu sprzętowym, który wykorzystuje na przykłąd urządzenia USB do generowania i zabezpieczania kluczy prywatnych w trybie offline. Portfel oprogramowania offline może być również używany do przechowywania kluczy prywatnych. Ten portfel ma partycję offline na klucze prywatne i sekcję online, w której przechowywane są klucze publiczne. W przypadku portfela oprogramowania offline, nowa transakcja jest przenoszona do trybu offline w celu podpisania cyfrowego, a następnie przenoszona z powrotem do trybu online w celu przesłania do sieci kryptowalut.