Opisywanie szyfrowania i tworzenia skrótów
Jednym ze sposobów łagodzenia typowych zagrożeń cyberbezpieczeństwa jest szyfrowanie poufnych lub cennych danych. Szyfrowanie to proces takiego przekształcenia danych, aby były nieczytelne i bezużyteczne dla nieuprawnionych osób przeglądających. Aby używać lub odczytywać zaszyfrowane dane, należy je odszyfrować, co wymaga użycia klucza tajnego.
Istnieją dwa główne typy szyfrowania: symetryczne i asymetryczne. Szyfrowanie symetryczne używa tego samego klucza do szyfrowania i odszyfrowywania danych. Szyfrowanie asymetryczne używa pary kluczy: publicznego i prywatnego. Dowolny klucz może szyfrować dane, ale klucz używany do szyfrowania nie może służyć do odszyfrowywania zaszyfrowanych danych. Aby odszyfrować, potrzebny jest sparowany klucz. Jeśli na przykład klucz publiczny jest używany do szyfrowania, do odszyfrowywania można użyć tylko odpowiedniego klucza prywatnego. Szyfrowanie asymetryczne jest używane w przypadku takich elementów, jak uzyskiwanie dostępu do witryn w Internecie przy użyciu protokołu HTTPS i rozwiązań do podpisywania danych elektronicznych. Szyfrowanie może chronić dane magazynowane lub przesyłane. Aby uzyskać dodatkowe informacje na temat pojęć kryptograficznych, zapoznaj się z opisem pojęć związanych z kryptografią
Szyfrowanie danych magazynowanych
Dane magazynowane to dane przechowywane na urządzeniu fizycznym, takie jak serwer. Może być przechowywany w bazie danych lub na koncie magazynu, ale niezależnie od tego, gdzie są przechowywane, szyfrowanie danych magazynowanych gwarantuje, że dane są nieczytelne bez kluczy i wpisów tajnych potrzebnych do odszyfrowania.
Jeśli osoba atakująca uzyskała dysk twardy z zaszyfrowanymi danymi i nie miała dostępu do kluczy szyfrowania, nie będzie mógł odczytać danych.
Szyfrowanie danych przesyłanych
Dane przesyłane to dane przenoszone z jednej lokalizacji do innej, na przykład przez Internet lub za pośrednictwem sieci prywatnej. Bezpieczny transfer może się odbywać za pośrednictwem kilku różnych warstw. Można to zrobić, szyfrując dane w warstwie aplikacji przed wysłaniem ich za pośrednictwem sieci. Https to przykład szyfrowania podczas przesyłania.
Szyfrowanie danych przesyłanych chroni je przed obserwatorami zewnętrznymi i zapewnia mechanizm przesyłania danych przy jednoczesnym ograniczeniu ryzyka narażenia.
Szyfrowanie danych używanych
Typowy przypadek użycia szyfrowania danych w użyciu obejmuje zabezpieczenie danych w magazynie niepersistentnym, takim jak pamięć RAM lub pamięci podręczne procesora CPU. Można to osiągnąć za pomocą technologii tworzących enklawę (uważać to za bezpieczną blokadę), która chroni dane i przechowuje dane zaszyfrowane podczas przetwarzania danych przez procesor.
Mieszania
Funkcja skrótu używa algorytmu do konwertowania tekstu na unikatową wartość o stałej długości o nazwie skrót. Za każdym razem, gdy ten sam tekst jest skrótem przy użyciu tego samego algorytmu, jest generowany ten sam skrót. Ten skrót może być następnie używany jako unikatowy identyfikator skojarzonych z nim danych.
Skrót różni się od szyfrowania w tym, że nie używa kluczy, a wartość skrótu nie jest następnie odszyfrowywana z powrotem do oryginału.
Skróty są często używane do przechowywania haseł. Gdy użytkownik wprowadzi hasło, ten sam algorytm, który utworzył zapisany skrót, tworzy skrót wprowadzonego hasła. Jest to porównywane z przechowywaną skróconą wersją hasła. Jeśli są one zgodne, użytkownik poprawnie wprowadził swoje hasło. Jest to bezpieczniejsze niż przechowywanie haseł w postaci zwykłego tekstu, ale algorytmy tworzenia skrótów są również znane hakerom. Ponieważ funkcje skrótu są deterministyczne (te same dane wejściowe generują te same dane wyjściowe), hakerzy mogą używać ataków słownika siłowego przez utworzenie skrótów haseł. Dla każdego dopasowanego skrótu znają rzeczywiste hasło. Aby ograniczyć to ryzyko, hasła są często "solone". Dotyczy to dodawania losowej wartości o stałej długości do danych wejściowych funkcji skrótu w celu utworzenia unikatowych skrótów dla tych samych danych wejściowych.