Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12403|Odpowiedź: 1

[Wiedza o budowaniu stron internetowych] HTTPS Te Rzeczy (1) Zasada HTTPS (przedruk)

[Skopiuj link]
Opublikowano 24.12.2015 10:56:18 | | |
Klin
Plotka Crusher opublikowała kilka dni temu "Czy dostęp do Internetu z publicznym WiFi zagrozi bezpieczeństwu kont bankowych? Artykuł wprowadza pewne sytuacje związane z wykorzystaniem HTTPS do transmisji szyfrowanej sieci, a sądząc po odpowiedzi, wciąż istnieją spory. W miarę jak Internet staje się coraz bardziej popularny, aplikacja staje się coraz powszechniejsza, a niektóre kwestie związane z bezpieczeństwem sieci będą przyciągać coraz większą uwagę internautów; tutaj porozmawiamy o TLS/SSL, które często nazywamy HTTPS, od zasady po faktyczną aplikację, aby zobaczyć, czym jest i na jakie problemy zwracać uwagę przy użyciu HTTPS i powiązanych technik bezpieczeństwa.
Cyberbezpieczeństwo to wydarzenie całościowe, które obejmuje bezpieczeństwo komputerów osobistych, protokołów, transmisji danych oraz firm i stron internetowych zajmujących się tworzeniem oprogramowania. Mam nadzieję, że stopniowe wyjaśnianie kwestii związanych z bezpieczeństwem w przyszłości pozwoli więcej osób zrozumieć bezpieczeństwo sieci, aby mogli bezpieczniej korzystać z sieci.
Artykuł będzie długi i planowano podzielić go na trzy części na razie:
Pierwsza część głównie opisuje zasadę HTTPS; Druga część głównie opisuje proces weryfikacji certyfikatów SSL oraz pewne środki ostrożności dotyczące użytkowania. Trzecia część przedstawia niektóre przypadki ataków HTTPS.
1. Czym jest HTTPS?
Zanim przejdziemy do HTTPS, porozmawiajmy o tym, czym jest HTTP – protokół zwykle używany podczas przeglądania internetu. Dane przesyłane przez protokół HTTP są nieszyfrowane, czyli w tekście jawnym, dlatego przesyłanie prywatnych informacji za pomocą protokołu HTTP jest bardzo niebezpieczne. Aby zapewnić szyfrowanie i przesyłanie tych danych prywatnych, Netscape zaprojektował protokół SSL (Secure Sockets Layer) do szyfrowania danych przesyłanych przez protokół HTTP, co dało początek HTTPS. Obecna wersja SSL to 3.0, zdefiniowana w RFC 6101 przez IETF (Internet Engineering Task Force), a następnie IETF zaktualizowała SSL 3.0, co skutkowało TLS (Transport Layer Security) 1.0, zdefiniowanym w RFC 2246. W rzeczywistości nasz obecny HTTPS to protokół TLS, ale ponieważ SSL pojawiło się stosunkowo wcześnie i jest nadal obsługiwane przez obecne przeglądarki, SSL nadal jest synonimem HTTPS, ale niezależnie od tego, czy jest to TLS czy SSL – to już z ostatniego stulecia, ostatnia wersja SSL to 3.0, a TLS będzie nadal dostarczać nam usługi szyfrowania w przyszłości. Obecna wersja TLS to 1.2, zdefiniowana w RFC 5246, i nie jest jeszcze szeroko stosowana.
Dla zainteresowanych historią można sięgnąć po http://en.wikipedia.org/wiki/Transport_Layer_Security, który zawiera szczegółowy opis TLS/SSL.
2. Czy HTTPS jest bezpieczny?
Odpowiedź brzmi: tak, jest bezpieczny. W nadchodzących tygodniach Google włączy HTTPS dla wszystkich lokalnych domen na świecie, użytkownicy muszą jedynie zalogować się za pomocą swojego konta Google przed rozpoczęciem wyszukiwania, a wszystkie operacje wyszukiwania będą szyfrowane za pomocą protokołu TLS, zobacz: http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/。
3. Jak działa HTTPS
HTTPS wymaga połączenia się z klientem (przeglądarką) a serwerem (stroną internetową) przed przesłaniem danych, a informacje o hasłach obu stron zostaną ustalone podczas procesu uścisku ręki. Protokół TLS/SSL to nie tylko zestaw protokołów transmisji szyfrowanej, ale także dzieło sztuki starannie zaprojektowane przez artystów, wykorzystujące szyfrowanie asymetryczne, symetryczne i algorytmy HASH. Prosty opis procesu uścisku dłoni jest następujący:

  • Przeglądarka wysyła na stronę internetową zestaw obsługiwanych reguł szyfrowania.
  • Strona wybiera zestaw algorytmów szyfrowania i algorytmów HASH z nich i przesyła swoje dane tożsamościowe do przeglądarki w formie certyfikatu. Certyfikat zawiera takie informacje jak adres strony internetowej, klucz publiczny szyfrujący oraz wydawcę certyfikatu.
  • Po uzyskaniu certyfikatu strony internetowej przeglądarka wykonuje następujące czynności:
  • Zweryfikować wiarygodność certyfikatu (czy organ wydający certyfikat jest prawdziwy, czy adres strony internetowej zawarty w certyfikcie jest taki sam jak adres odwiedzany itd.), jeśli certyfikat jest zaufany, na pasku przeglądarki pojawi się mała blokada, w przeciwnym razie pojawi się komunikat, że certyfikat nie jest zaufany.
  • Jeśli certyfikat jest zaufany lub jeśli użytkownik zaakceptuje certyfikat nieufny, przeglądarka generuje losową liczbę haseł i szyfruje je kluczem publicznym podanym w certyfikacie.
  • Wiadomość handshake jest obliczana na podstawie uzgodnionego HASH, a wiadomość jest szyfrowana wygenerowaną losową liczbą, a ostatecznie wszystkie wcześniej wygenerowane informacje trafiają na stronę internetową.
   4. Po otrzymaniu danych z przeglądarki, strona wykonuje następujące czynności:
  • Użyj własnego klucza prywatnego do odszyfrowania hasła, użyj hasła do odszyfrowania wiadomości handshake wysłanej przez przeglądarkę i sprawdź, czy HASH jest taki sam jak ten wysłany przez przeglądarkę.
  • Wiadomość handshake jest szyfrowana hasłem i wysyłana do przeglądarki.
   5. Przeglądarka odszyfrowuje i oblicza HASH wiadomości handshake, jeśli jest on zgodny z HASH wysłanym przez serwer, proces handshake się kończy, a następnie wszystkie dane komunikacyjne zostaną zaszyfrowane losowym hasłem wygenerowanym przez poprzednią przeglądarkę i wykorzystującym symetryczny algorytm szyfrowania.

W tym przypadku przeglądarka i strona internetowa wysyłają sobie nawzajem zaszyfrowaną wiadomość handshake i weryfikują, aby upewnić się, że obie strony uzyskały to samo hasło, mogą normalnie zaszyfrować i odszyfrować dane oraz przeprowadzić test późniejszej transmisji rzeczywistych danych. Ponadto algorytmy szyfrowania i HASH powszechnie stosowane w HTTPS są następujące:
  • Algorytmy szyfrowania asymetrycznego: RSA, DSA/DSS
  • Symetryczne algorytmy szyfrowania: AES, RC4, 3DES
  • Algorytm HASH: MD5, SHA1, SHA256
Wśród nich algorytm szyfrowania asymetrycznego jest używany do szyfrowania wygenerowanego hasła podczas procesu uścisku ręki, algorytm szyfrowania symetrycznego do szyfrowania rzeczywistych przesyłanych danych, a algorytm HASH służy do weryfikacji integralności danych. Ponieważ hasło wygenerowane przez przeglądarkę jest kluczem do szyfrowania wszystkich danych, jest ono szyfrowane za pomocą asymetrycznego algorytmu szyfrowania podczas transmisji. Algorytm szyfrowania asymetrycznego generuje klucze publiczne i prywatne, klucze publiczne mogą być używane tylko do szyfrowania danych, więc mogą być przesyłane według własnego uznania, a klucze prywatne strony internetowej służą do odszyfrowania danych, więc strona bardzo starannie przechowuje klucz prywatny, aby zapobiec wyciekom.
Każdy błąd podczas procesu uścisku dłoni TLS może przerwać szyfrowane połączenie, uniemożliwiając przesyłanie prywatnych informacji. To właśnie dlatego, że HTTPS jest bardzo bezpieczny, atakujący nie mogą znaleźć punktu startowego, więc używają fałszywych certyfikatów, by oszukać klientów i uzyskać informacje w formacie jawnym, ale te metody można zidentyfikować, o czym opowiem w kolejnym artykule. Jednak w 2010 roku eksperci ds. bezpieczeństwa odkryli lukę w obsłudze protokołu TLS 1.0: http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/ faktycznie metoda ataku zwana BEAST została odkryta przez ekspertów ds. bezpieczeństwa już w 2002 roku, ale nie została upubliczniona. Microsoft i Google naprawili tę lukę. Zobacz: http://support.microsoft.com/kb/2643584/en-us https://src.chromium.org/viewvc/chrome?view=rev&revision=90643
Uproszczona wersja HTTPS działa także w szyfrowaniu symetrycznym kontra szyfrowaniu asymetrycznym.




Poprzedni:Krok po kroku konfiguracja ASP.NET aplikacji webowych korzystających z HTTPS
Następny:Bardzo piękne powiadomienie SweetAlert
 Ziemianin| Opublikowano 19.04.2018 11:09:21 |
Szczegółowe wyjaśnienie różnych parametrów protokołu HTTP
http://www.itsvse.com/thread-3704-1-1.html
(Źródło: Architect_Programmer)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com