14.07.2014, 17:10
Tl;dr: od tej pory można opcjonalnie przeglądać całe forum lub jego części za pomocą szyfrowanego protokołu HTTPS. Wystarczy w pasku adresu zamiast "kanciapa.pbf.net.pl" lub "http://kanciapa.pbf.net.pl" wpisać "https://kanciapa.pbf.net.pl" i zaakceptować na stałe certyfikat SSL o który zapyta przeglądarka.WAŻNE: jeśli po poprawnym dodaniu certyfikatu do zaufanych, bez informacji z mojej strony zostaniecie ponownie zapytani o akceptację, nie róbcie tego i zgłoście problem, np. w tym temacie.
UWAGA: długa, nudna ściana tekstu naszpikowana językiem technicznym.
Od dawna cierniem w boku siedział mi fakt, że wszystkie nasze loginy, hasła, id sesji i inne krytyczne rzeczy latają sobie nieszyfrowane do serwera i z powrotem. Wprawdzie jest małe ryzyko, że ktoś będzie próbował ataku man-in-the-middle na forum z niespełna trzydziestoma użytkownikami, ale w dobie masowej inwigilacji warto się zabezpieczać na zaś.
Po co to w ogóle?
Formularze zawierające nasze hasła nie są przecież danymi naszych kont bankowych... Zwykle. Prawda jest taka, że ludzie często używają tych samych haseł w wielu miejscach i jeśli nawet nie wszystkie grożą nam wyczyszczeniem konta, to przeglądanie naszej korespondencji przez osobę niepożądaną chyba też nie jest miłe i fajne, co nie? Dlatego szyfrowanie stron z formularzami haseł jest już od jakiegoś czasu praktyką znaną i zalecaną.
No dobrze, a po co szyfrować całe forum? Otóż może to być paranoja związana z czasami, w jakich żyjemy, ale różni ludzie podnoszą, że gdy tylko część ruchu sieciowego jest szyfrowana, dane potencjalnie wrażliwe wyróżniają się na tle pozostałych. Nie istnieje szyfrowanie którego nie można złamać, zależy to tylko od siły obliczeniowej jaką dysponuje atakujący i czasu jaki jest gotów poświęcić. Znów: prawdopodobnie nikomu nie zależy na hasłach i loginach, jakich używamy na tym forum, ale na wszelki wypadek... Jest jeszcze jedno, bardziej przyziemne tłumaczenie: aby nie trzeba było logować się przy każdym połączeniu z serwerem, skrypt ustawia w waszych przeglądarkach id sesji. Jest ono po jakimś czasie wygaszane, ale póki to nie nastąpi, atakujący może je przechwycić i podszyć się pod was w komunikacji z serwerem, uzyskując dostęp do wszystkiego, do czego dostęp macie wy.
Przeglądarka mówi mi, żeby nie ufać twojemu certyfikatowi!
Aby to wyjaśnić, musimy przez chwilę skupić się na samym działaniu szyfrowania HTTPS. Nie wchodząc w szczegóły techniczne należy podkreślić, że szyfrowanie stron internetowych jest zintegrowane z uwierzytelnianiem, czyli potwierdzaniem tożsamości. Ma to swoje uzasadnienie w kontekście wspomnianego ataku man-in-the-middle. Ruch w internecie, zanim z waszych komputerów osiągnie serwer docelowy (i wróci z powrotem) przechodzi przez wiele wysokowydajnych routerów. Jedne z nich są zabezpieczone lepiej, inne gorzej. Próby shackowania ich zabezpieczeń odbywają się cały czas w różnych punktach globu. W swej najprostszej postaci, atak man-in-the-middle polega więc na złamaniu zabezpieczeń jednego z routerów i przechwytywaniu pakietów, jakie przezeń przechodzą. Samo szyfrowanie nie naprawia tej luki, bowiem atakujący wciąż może stwierdzić, jakiego algorytmu szyfrowania używamy i odpowiadać w ten sam sposób. Z naszej perspektywy nie dostrzeżemy różnicy między atakującym a prawdziwym serwerem, z którym chcieliśmy się połączyć.
Z tego powodu stworzono mechanizm weryfikacji tożsamości zdalnych komputerów (serwerów), z którymi komunikujemy się w sieci. Oparty jest on na dodaniu do komunikacji trzeciej strony, która weryfikuje tożsamość strony, z którą rozmawiamy. Mechanizm ten jest silnie sprywatyzowany: owe "trzecie strony" to najczęściej prywatne przedsiębiorstwa, które za opłatą podpisują (certyfikują) klucze kryptograficzne, używane do szyfrowania HTTPS. Listę takich "zaufanych" firm dostarcza producent twojej przeglądarki, która przy łączeniu za pomocą szyfrowania automatycznie porównuje taki podpis z tym, jaki posiada w swojej bazie.
Jeśli podpis nie pasuje do żadnego z "zaufanych" lub klucz kryptograficzny nie jest podpisany wcale, przeglądarki wyświetlają monity. W ostatnich latach istnieje tendencja, by monity te były coraz wyraźniejsze i coraz bardziej zniechęcające użytkownika do bezmyślnego kliknięcia odpowiednika "dalej".
To czemu nie możesz uzyskać takiego podpisu, żeby przeglądarka się nie oburzała?
Pierwszym, ale nie jedynym powodem, jest wyżej wspomniana cena. W obecnym modelu szyfrowania "zaufanie" stało się dochodowym biznesem, ceny certyfikatów zaczynają się od 100 zł rocznie i nie jestem chętny, by wydawać na ten cel prawie połowę tego, ile wynoszą koszty całego serwera, domeny itp. Być może kiedyś zacznę zbierać datki, jak już pbf.net.pl będzie, he he, wielkie i znane, ale nawet wtedy wydaje mi się, że są lepsze rzeczy na które można wydać pieniądze.
Przeświadczenie to wynika z drugiego powodu, który można w skrócie przedstawić tak: system nie jest idealny. Założenie jest takie, że aby uzyskać zaufanie do serwera z którym się łączysz, prosisz o potwierdzenie zaufaną stronę trzecią, że to faktycznie ten serwer. Klucz to termin "zaufana strona trzecia": czy faktycznie im ufasz? Czy mówią ci coś nazwy Thawte, VeriSign, DigiCert? Większości ludzi nie mówią nic, firmom tym ufają producenci przeglądarek a od ciebie oczekuje się, że będziesz ufać producentom. W modelu tym nie ma miejsca na strony, którym ufasz ty sam(a), a nie ufają producenci. W przypadku np. Microsoftu, producenta przeglądarki Internet Explorer, zaufanie jest wynikiem wpłacenia firmie określonej kwoty w dolarach. W 2011 roku zabezpieczenia "zaufanych" firm Comodo oraz DigiNotar zostały złamane przez nieznanych sprawców.
Więc skąd mam wiedzieć, że twoje szyfrowanie jest bezpieczne?
W mechanizmie szyfrowania wszystko opiera się na zaufaniu. Akceptując certyfikat mówisz: "ok, ufam osobie wystawiającej ten certyfikat". Certyfikat na tej stronie jest podpisany przeze mnie, akceptacja go jest równoznaczna ze stwierdzeniem, że ufasz mi bardziej niż przesyłając te same dane w sposób niezabezpieczony. Jeśli nie ufasz, to nie ma problemu - wersja nieszyfrowana jest nadal dostępna jako domyślna i będzie nadal, w dającej się przewidzieć przyszłości.
Ponieważ tożsamość weryfikujesz "na oko" - nie będziesz przecież za każdym razem porównywać sum kryptograficznych - atak man-in-the-middle nadal jest możliwy. Atakujący może jednakże podrobić tylko moją tożsamość (tzn. przedstawić się jako Czerwony) ale jego podpis cyfrowy będzie różnił się od mojego. Dlatego w przypadku tego ataku otrzymasz ponownie od przeglądarki monit o zaakceptowanie certyfikatu. Jeśli nie ma na forum informacji o zmianie certyfikatu, nie akceptuj go. Certyfikat jest wymieniany raz do roku, wtedy za każdym razem będę o tym informował.
UWAGA: długa, nudna ściana tekstu naszpikowana językiem technicznym.
Od dawna cierniem w boku siedział mi fakt, że wszystkie nasze loginy, hasła, id sesji i inne krytyczne rzeczy latają sobie nieszyfrowane do serwera i z powrotem. Wprawdzie jest małe ryzyko, że ktoś będzie próbował ataku man-in-the-middle na forum z niespełna trzydziestoma użytkownikami, ale w dobie masowej inwigilacji warto się zabezpieczać na zaś.
Po co to w ogóle?
Formularze zawierające nasze hasła nie są przecież danymi naszych kont bankowych... Zwykle. Prawda jest taka, że ludzie często używają tych samych haseł w wielu miejscach i jeśli nawet nie wszystkie grożą nam wyczyszczeniem konta, to przeglądanie naszej korespondencji przez osobę niepożądaną chyba też nie jest miłe i fajne, co nie? Dlatego szyfrowanie stron z formularzami haseł jest już od jakiegoś czasu praktyką znaną i zalecaną.
No dobrze, a po co szyfrować całe forum? Otóż może to być paranoja związana z czasami, w jakich żyjemy, ale różni ludzie podnoszą, że gdy tylko część ruchu sieciowego jest szyfrowana, dane potencjalnie wrażliwe wyróżniają się na tle pozostałych. Nie istnieje szyfrowanie którego nie można złamać, zależy to tylko od siły obliczeniowej jaką dysponuje atakujący i czasu jaki jest gotów poświęcić. Znów: prawdopodobnie nikomu nie zależy na hasłach i loginach, jakich używamy na tym forum, ale na wszelki wypadek... Jest jeszcze jedno, bardziej przyziemne tłumaczenie: aby nie trzeba było logować się przy każdym połączeniu z serwerem, skrypt ustawia w waszych przeglądarkach id sesji. Jest ono po jakimś czasie wygaszane, ale póki to nie nastąpi, atakujący może je przechwycić i podszyć się pod was w komunikacji z serwerem, uzyskując dostęp do wszystkiego, do czego dostęp macie wy.
Przeglądarka mówi mi, żeby nie ufać twojemu certyfikatowi!
Aby to wyjaśnić, musimy przez chwilę skupić się na samym działaniu szyfrowania HTTPS. Nie wchodząc w szczegóły techniczne należy podkreślić, że szyfrowanie stron internetowych jest zintegrowane z uwierzytelnianiem, czyli potwierdzaniem tożsamości. Ma to swoje uzasadnienie w kontekście wspomnianego ataku man-in-the-middle. Ruch w internecie, zanim z waszych komputerów osiągnie serwer docelowy (i wróci z powrotem) przechodzi przez wiele wysokowydajnych routerów. Jedne z nich są zabezpieczone lepiej, inne gorzej. Próby shackowania ich zabezpieczeń odbywają się cały czas w różnych punktach globu. W swej najprostszej postaci, atak man-in-the-middle polega więc na złamaniu zabezpieczeń jednego z routerów i przechwytywaniu pakietów, jakie przezeń przechodzą. Samo szyfrowanie nie naprawia tej luki, bowiem atakujący wciąż może stwierdzić, jakiego algorytmu szyfrowania używamy i odpowiadać w ten sam sposób. Z naszej perspektywy nie dostrzeżemy różnicy między atakującym a prawdziwym serwerem, z którym chcieliśmy się połączyć.
Z tego powodu stworzono mechanizm weryfikacji tożsamości zdalnych komputerów (serwerów), z którymi komunikujemy się w sieci. Oparty jest on na dodaniu do komunikacji trzeciej strony, która weryfikuje tożsamość strony, z którą rozmawiamy. Mechanizm ten jest silnie sprywatyzowany: owe "trzecie strony" to najczęściej prywatne przedsiębiorstwa, które za opłatą podpisują (certyfikują) klucze kryptograficzne, używane do szyfrowania HTTPS. Listę takich "zaufanych" firm dostarcza producent twojej przeglądarki, która przy łączeniu za pomocą szyfrowania automatycznie porównuje taki podpis z tym, jaki posiada w swojej bazie.
Jeśli podpis nie pasuje do żadnego z "zaufanych" lub klucz kryptograficzny nie jest podpisany wcale, przeglądarki wyświetlają monity. W ostatnich latach istnieje tendencja, by monity te były coraz wyraźniejsze i coraz bardziej zniechęcające użytkownika do bezmyślnego kliknięcia odpowiednika "dalej".
To czemu nie możesz uzyskać takiego podpisu, żeby przeglądarka się nie oburzała?
Pierwszym, ale nie jedynym powodem, jest wyżej wspomniana cena. W obecnym modelu szyfrowania "zaufanie" stało się dochodowym biznesem, ceny certyfikatów zaczynają się od 100 zł rocznie i nie jestem chętny, by wydawać na ten cel prawie połowę tego, ile wynoszą koszty całego serwera, domeny itp. Być może kiedyś zacznę zbierać datki, jak już pbf.net.pl będzie, he he, wielkie i znane, ale nawet wtedy wydaje mi się, że są lepsze rzeczy na które można wydać pieniądze.
Przeświadczenie to wynika z drugiego powodu, który można w skrócie przedstawić tak: system nie jest idealny. Założenie jest takie, że aby uzyskać zaufanie do serwera z którym się łączysz, prosisz o potwierdzenie zaufaną stronę trzecią, że to faktycznie ten serwer. Klucz to termin "zaufana strona trzecia": czy faktycznie im ufasz? Czy mówią ci coś nazwy Thawte, VeriSign, DigiCert? Większości ludzi nie mówią nic, firmom tym ufają producenci przeglądarek a od ciebie oczekuje się, że będziesz ufać producentom. W modelu tym nie ma miejsca na strony, którym ufasz ty sam(a), a nie ufają producenci. W przypadku np. Microsoftu, producenta przeglądarki Internet Explorer, zaufanie jest wynikiem wpłacenia firmie określonej kwoty w dolarach. W 2011 roku zabezpieczenia "zaufanych" firm Comodo oraz DigiNotar zostały złamane przez nieznanych sprawców.
Więc skąd mam wiedzieć, że twoje szyfrowanie jest bezpieczne?
W mechanizmie szyfrowania wszystko opiera się na zaufaniu. Akceptując certyfikat mówisz: "ok, ufam osobie wystawiającej ten certyfikat". Certyfikat na tej stronie jest podpisany przeze mnie, akceptacja go jest równoznaczna ze stwierdzeniem, że ufasz mi bardziej niż przesyłając te same dane w sposób niezabezpieczony. Jeśli nie ufasz, to nie ma problemu - wersja nieszyfrowana jest nadal dostępna jako domyślna i będzie nadal, w dającej się przewidzieć przyszłości.
Ponieważ tożsamość weryfikujesz "na oko" - nie będziesz przecież za każdym razem porównywać sum kryptograficznych - atak man-in-the-middle nadal jest możliwy. Atakujący może jednakże podrobić tylko moją tożsamość (tzn. przedstawić się jako Czerwony) ale jego podpis cyfrowy będzie różnił się od mojego. Dlatego w przypadku tego ataku otrzymasz ponownie od przeglądarki monit o zaakceptowanie certyfikatu. Jeśli nie ma na forum informacji o zmianie certyfikatu, nie akceptuj go. Certyfikat jest wymieniany raz do roku, wtedy za każdym razem będę o tym informował.