W związku z coraz częściej pojawiającymi się newsami o inwigilacji w sieci, obserwując poziom niewiedzy przeciętnego Kowalskiego w dziedzinie kryptografii, postanowiłem napisać ten poradnik który pobieżnie wyjaśni możliwe sposoby na zapewnienie poufności waszym danym.
Dane na dysku
Jak zabezpieczyć się przed tym by np. policja nie mogła sprawdzić co mieliście na twardym dysku po jego zarekwirowaniu?
Do tego służą programy do szyfrowania dysków. Najpopularniejszy to chyba
TrueCrypt - jest darmowy, a jego ostatnia wersja umożliwia także szyfrowanie dysku systemowego, co daje gwarancję, że wszystko co zrobicie na komputerze (np. historia przeglądarki) zostanie zabezpieczone hasłem w momencie gdy tylko wyłączycie ów komputer.
Szyfrując dyski należy pamiętać o tym że kluczem do odkodowania danych jest hasło. Dlatego by wasze dane były bezpieczne, musi ono być długie (np. 20 znakowe) i zawierać różne znaki (nie tylko litery/cyfry). Aby hasło było bezpieczne w żadnym wypadku nie należy używać w nim wyrazów, ani nawet zdań.
Zagrożeniem dla tego typu zabezpieczenia mogą być wirusy, choć bardziej tzw. trojany. Jeśli ktoś zdoła zainstalować w waszym systemie odpowiednio zaprojektowanego trojana, będzie wtedy w stanie wykraść wasze hasło. Inny potencjalny problem o którym należy pamiętać to, że jeśli zapomnicie hasła odzyskanie danych będzie niemożliwe.
E-maile
Jak zabezpieczyć sobie tajemnicę korespondencji mailowej?
Tutaj nie trzeba odkrywać ameryki: stary i sprawdzony sposób z kluczami niesymetrycznymi RSA. Zaczęło się od programu o nazwie PGP, później powstała jego darmowa wersja o nawie
GnuPG.
Osoba która chce otrzymywać od kogoś poufną korespondencję generuje parę kluczy: prywatny+publiczny. Publiczny udostępnia wszystkim a prywatny trzyma u siebie i tylko dla siebie. Sam klucz prywatny można dodatkowo zabezpieczyć hasłem na wypadek gdyby wpadł w niepowołane ręce (tutaj patrz zasady wybierania hasła jak powyżej). Szyfr RSA jest pomyślany w ten sposób że wiadomość (plik) zakodowaną kluczem publicznym można odkodować tylko skojarzonym z nim kluczem prywatnym (lub na odwrót, ale to inna historia).
Na obecną chwilę, by zapewnić sobie wystarczający poziom bezpieczeństwa, należy używać klucza RSA o długości co najmniej 2048-bitów.
Aby dowiedzieć się więcej o tym jak używać PGP w praktyce, zapoznaj się z artykułami:
*
Szyfrowanie poczty w Thunderbird
*
Szyfrowanie poczty w Outlook
Ważne by pamiętać iż
PGP szyfruje tylko treść maila. W zaszyfrowanej wiadomości niezaszyfrowany jest temat, adresy nadawcy/odbiorców, a często również i adres IP, z którego ów mail został wysłany.
Połączenie ze stronami WWW
Jak zabezpieczyć się przed podsłuchem naszego połączenia ze stronami WWW?
Gdy korzystacie np. z forum każdy (od waszego kolegi podpiętego do tej samej sieci, przez szefa w pracy, technika w TPSA, aż po policjanta w "centrali") może podejrzeć całą waszą komunikację z serwerem. W niezaszyfrowanym ruchu HTTP jest wszystko; wasz login/hasło do strony, tematy które czytaliście, posty/PW które wysyłaliście, głosowania w ankietach - krótko mówiąc cały ruch między waszym komputerem i serwerem strony.
Zabezpieczeniem przed podsłuchem (a także podmianą) treści tym jest tzw. protokół SSL, czyli HTTPS (w odróżnienie od HTTP). Kiedy używacie SSL wasze połączenie jest szyfrowane niczym e-maile które opisałem powyżej: serwer wysyła do waszej przeglądarki swój klucz publiczny a on szyfruje nim wszystko co potem wysyła do serwera - i na odwrót; serwer szyfruje wszystko kluczem publicznym który dostał od waszej przeglądarki. Dzięki temu nikt nie jest w stanie rozszyfrować danych które przechwyci "na drodze" gdyż nie dysponuje niezbędnym do tego kluczem prywatnym.
Mając jednak kontrolę nad połączeniem między waszym kompem a serwerem można by próbować oszukać waszą przeglądarkę podsyłając jej "fałszywy" klucz publiczny. Fałszywy czyli taki który nie jest wygenerowany przez serwer z którym się łączycie, ale przez osobę chcącą was podsłuchać - osobę która podaje się za serwer, gdy w istocie jest tylko tzw. proxy potrafiącym połączyć was z właściwym serwerem, ale równocześnie "po drodze" rozszyfrowującym wasze dane. W celu ochrony przed tego typu atakiem stosuje się tzw. certyfikaty SSL. Być może widzieliście czasem gdy wchodzicie na link
https:// przeglądarka ostrzega was że certyfikat danej strony jest nieprawidłowy. Wbrew pozorom używanie HTTPS bez ważnego certyfikatu ma pewien sens, gdyż ciągle umożliwia zaszyfrowania połączenia co utrudnia jego podsłuch, jednak współczesne przeglądarki standardowo blokują strony z niepoprawnym certyfikatem.
Należy pamiętać że protokół SSL, by móc bo używać, musi być wspierany przez serwer WWW z którym się łączymy. Ponadto ważne by mieć świadomość tego, iż certyfikaty SSL nie są do końca bezpieczna i w przeszłości zdarzało się już że zostały złamane lub ominięte. Dodatkowo istnieje jeszcze kwestia zaufania do firm które owe certyfikaty wydają - jeśli któraś z nich zgodzi się wystawić "lewy" certyfikat komukolwiek (np. agencji rządowej), to ów ktoś będzie w stanie ominąć zabezpieczenie SSL dla danej strony.
Połączenie z internetem
Czy istnieje możliwość zaszyfrowania połączenia z internetem, by nie dało się podsłuchać adresów serwerów, z którymi się łączymy?
Owszem - w tym celu korzystać można z sieci
Tor, lub z płatnych usług typu
VPN. W tym drugim przypadku pamiętać należy jednak o tym, iż dostawca usługi VPN ma pełny wgląd w nasz ruch internetowy, więc istotna jest kwestia zaufania do takiego serwisu.
Korzystanie z zaszyfrowanego połączenia nie tylko chowa (podmienia) nasze IP, ale także uniemożliwia dostawcy internetu (ISP) śledzenie naszego ruchu internetowego, czyli m.in tego jakie strony odwiedzamy, z jakimi serwerami się łączymy, czy jakie pliki ściągamy/udostępniamy przy pomocy sieci peer-to-peer. Warto pamiętać o tym, że dostawcy internetu w większości krajów mają ustawowy obowiązek logowanie naszej aktywności w sieci i przechowywania danych na ten temat (tzw.
retencja danych).
Komunikatory
Większość komunikatorów internetowych (Gadu-Gady, Skype, Tlen, Gmail Chat, Facebook, IRC i wiele innych) zapisuje historię naszej komunikacji. Niektóre z nich można także podsłuchać, mając się dostęp do tej części sieci (np. routera) przez którą przechodzi wasz ruch internetowy.
W celu ochrony prywatności swoich czatów należy używać oprogramowania które po pierwsze zapewnia szyfrowaną komunikację, a po drugie na zapisuje jej na żadnym serwerze. Jednym z najprostszych w obsłudze rozwiązań tego typu jest (dostępnym z poziomu przeglądarki internetowej) jest
Cryptocat. Z innych rozwiązań polecam
Telegram, dostępny zarówno na komputery stacjonarne jak i smart fony.