Szyfrowanie to proces przekształcania danych w postać nieczytelną dla osób, które nie mają odpowiedniego klucza. Chroni poufność informacji podczas przesyłania i przechowywania.
Jakie są rodzaje szyfrowania?
Szyfrowanie symetryczne używa jednego klucza do szyfrowania i odszyfrowania, a asymetryczne pary kluczy: publicznego i prywatnego. W praktyce, na przykład w HTTPS, łączy się obie metody.
Szyfrowanie a hashowanie
Szyfrowanie jest odwracalne przy użyciu klucza, a hashowanie to nieodwracalny skrót. Hasła przechowuje się jako hashe, a dane, które trzeba później odczytać, w postaci zaszyfrowanej.
Gdzie stosuje się szyfrowanie?
- przesyłanie danych przez HTTPS i TLS,
- szyfrowanie dysków i kopii zapasowych,
- komunikatory z szyfrowaniem end-to-end,
- przechowywanie wrażliwych pól w bazie danych.
Szyfrowanie danych w spoczynku i w tranzycie
Dane można chronić na dwa sposoby: w tranzycie, czyli podczas przesyłania, np. przez TLS w HTTPS, oraz w spoczynku, czyli na dysku lub w bazie, np. przez szyfrowanie dysku. Oba są potrzebne, bo chronią przed innymi zagrożeniami: podsłuchem w sieci oraz kradzieżą nośnika lub kopii. Kluczem jest bezpieczne zarządzanie kluczami, bo dane są tak bezpieczne, jak klucz, który je odblokowuje.
Nie pisz własnych algorytmów szyfrowania: stosuj sprawdzone biblioteki i standardy, takie jak AES. Szyfrowanie jest odwracalne, w odróżnieniu od hashowania, więc haseł nie szyfruje się, tylko hashuje z solą. Dane osobowe powinny być szyfrowane zgodnie z zasadą ochrony danych w RODO.
Zobacz w praktyce
Jak naprawić błędy certyfikatu SSL i mixed content
Jak bezpiecznie przechowywać hasła użytkowników w bazie danych
Jak połączyć się z serwerem przez FTP i SFTP?