Chcę mieć bezpieczne połączenie, gdy loguję się do mojej poczty internetowej, phpMyAdmin itp.
Dlatego podpisałem własne certyfikaty SSL za pomocą OpenSSL i powiedziałem Apache, aby nasłuchiwał na porcie 443.
Czy to faktycznie jest bezpieczne? Czy wszystkie moje hasła są naprawdę przesyłane przez bezpieczną warstwę? Co to za różnica, jeśli kupię certyfikat SSL od Verisign lub podpiszę własny? Pod koniec dnia wszystkie dane i tak będą na moim serwerze. Jaka jest duża różnica?
źródło
Tu chodzi o zaufanie.
Załóżmy, że odwiedzasz popularną witrynę internetową z certyfikatem. To jest strona internetowa z napisem: „Oto kim jestem, możesz mi zaufać, ponieważ mam list polecający podpisany przez osobę, której ufasz”.
W tym przypadku „ktoś, komu ufasz”, jest jednym z autorytetów certyfikatów, którzy (miejmy nadzieję) wykonali legalne prace w celu ustalenia tożsamości osoby wystawiającej certyfikat w Twoim imieniu.
To, na czym naprawdę ufasz, to zaufanie autora przeglądarki do zaufania urzędu certyfikacji do tożsamości osoby przedstawiającej certyfikat. Często między tobą a prowadzącym występuje więcej niż jeden autorytet, stąd termin: „łańcuch zaufania”. [1]
Po podpisaniu własnego certyfikatu nie ma łańcucha zaufania. Twoja strona przedstawia ci swój własny certyfikat. Jeśli zainstalować własny certyfikat w przeglądarce, jak ten, który Ci zaufać, to jest traktowany jako autorytet, takie same jak te, które pochodzą zainstalowane. Następnie masz łańcuch zaufania z tylko jednym linkiem.
Jeśli następnie odwiedzisz swoją witrynę, a przeglądarka ostrzeże Cię, że przedstawia niezaufany certyfikat, powinieneś mieć powód do niepokoju, ponieważ podobnie jak w przypadku każdej innej witryny, która przedstawia niezaufany certyfikat, nie możesz być pewien że komunikujesz się z prawdziwą witryną.
Zauważ, że nie wspomniałem jeszcze o szyfrowaniu. Certyfikaty dotyczą uwierzytelniania tożsamości strony, z którą się komunikujesz. Za pomocą zaufanych certyfikatów masz pewność, że Twój sklep lub bank są prawdziwe. Po ustaleniu ich tożsamości kolejnym krokiem jest zapewnienie komunikacji między wami. Zdarza się, że certyfikaty zawierają również klucze niezbędne do zapewnienia bezpieczeństwa. Zakładając, że poprawnie skonfigurowałeś SSL, ta komunikacja jest tak samo bezpieczna, jak w sklepie lub banku, a twoje hasła są jednakowo chronione. [2]
[1] To wcale nie jest bezbłędny system. Wolny rynek i niskomarżowa, masowa działalność nieuchronnie prowadzi do obniżenia kosztów: http://www.theregister.co.uk/2011/04/11/state_of_ssl_analysis/
[2] Przynajmniej chroniony na tyle, że ktoś jest o wiele tańszy, aby ktoś włamał się do twojego domu, wybił cię z tajemnic, a nie próbował ich złamać: http://xkcd.com/538/
źródło
W rzeczywistości samopodpisane certyfikaty mogą być bezpieczne, ale nie w ramach modelu, którego używamy teraz.
W ramach szeroko rozpowszechnionego modelu CA (ośrodka certyfikacji), z którego wszyscy obecnie korzystają, celem podpisania certyfikatu przez zaufany urząd certyfikacji jest zapewnienie uwierzytelnienia.
Kiedy dostajemy certyfikat, wszystko, co naprawdę widzimy, to jedynki i zera nadchodzące z gniazda w ścianie; nie mamy pojęcia, skąd pochodzą te 1 i 0. Ponieważ jednak certyfikat jest podpisany przez urząd certyfikacji - coś, czego nikt inny na świecie nie może zrobić - i ponieważ ufamy urzędowi certyfikacji w zakresie weryfikacji tożsamości właściciela certyfikatu, ufamy, że certyfikat pochodzi od tego, kogo twierdzi do.
Oczywiście, jeśli CA zostanie naruszony lub nie zweryfikuje poprawnie właściciela , wszystkie zakłady są wyłączone.
Istnieje jednak kolejny model, zgodnie z którym certyfikaty autopodpisywane należy zapewnić autentyczność. To się nazywa model notarialny .
Zasadniczo, zamiast ufać jednemu urzędowi certyfikacji, dystrybuujemy zaufanie do dowolnej liczby notariuszy . Ci notariusze przeszukują Internet w poszukiwaniu certyfikatów, przechowując w pamięci podręcznej wszystkie certyfikaty, które widzieli. Gdy odwiedzasz witrynę po raz pierwszy i uzyskujesz certyfikat, pytasz wielu notariuszy dystrybuowanych na całym świecie, jaki był ostatni certyfikat, który widzieli. Jeśli nie zgadzają się z tym, co widzisz, możesz być częścią ataku man-in-the-middle.
W ramach tego modelu certyfikaty z podpisem własnym są całkowicie bezpieczne, o ile zakładamy, że serwer nie zostanie natychmiast narażony na szwank, zanim jakikolwiek notariusz będzie mógł zobaczyć jego certyfikat.
Model notariusza jest jeszcze w powijakach i wątpliwe, czy kiedykolwiek przejmie model CA (w rzeczywistości nie musi - można ich używać w tandemie) . Najbardziej obiecującym jak dotąd projektem jest Convergence.io , który ma wtyczkę do przeglądarki Firefox.
źródło
Nie chodzi tylko o zaufanie ....
Certyfikaty SSL mogą służyć dwóm celom: 1) to serwer sieciowy, z którym się łączysz, z tym, z którym chcesz się połączyć; oraz 2) do szyfrowania komunikacji.
Możesz mieć # 2 bez # 1, co właśnie osiągnąłeś. Pozostaje więc weryfikacja, że pole, z którym się łączysz, jest tym, którego chcesz.
Jeśli to MÓJ serwer, nie mam problemu z używaniem certyfikatu z podpisem własnym - chociaż istnieje pewne ryzyko, że ktoś może sfałszować rzeczy, aby zmusić mnie do połączenia się z ich serwerem zamiast z moim. Ponieważ nikt nie troszczy się o mnie i mój serwer, a ja mam tu niewielką wartość, nie widzę w tym zbyt dużego ryzyka.
Z drugiej strony, gdyby zamiast mojego serwera był to twój serwer, byłbym zaniepokojony.
źródło