Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 12403|Відповідь: 1

[Знання про створення вебсайту] HTTPS Ті речі (1) Принцип HTTPS (перевидання)

[Копіювати посилання]
Опубліковано 24.12.2015 10:56:18 | | |
Клин
Чутка Крашер оприлюднила кілька днів тому: «Чи може доступ до Інтернету з публічним WiFi загрожувати безпеці банківських рахунків? У статті розглядаються деякі ситуації використання HTTPS для мережевої шифрованої передачі, і, судячи з відповіді, суперечки досі існують. Оскільки Інтернет стає дедалі популярнішим, додаток стає дедалі поширенішим, а деякі питання мережевої безпеки також привертатимуть дедалі більше уваги користувачів мережі. Тут ми поговоримо про TLS/SSL, який ми часто називаємо HTTPS, від принципу до самого додатку, щоб зрозуміти, що це таке і на які проблеми слід звертати увагу при використанні HTTPS та пов'язаних методів безпеки.
Кібербезпека — це цілісна подія, що включає безпеку персональних комп'ютерів, протоколів, передачі даних, а також компаній і вебсайтів з розробки програмного забезпечення. Я сподіваюся, що, поступово пояснюючи питання, пов'язані з безпекою, у майбутньому більше людей зможуть зрозуміти мережеву безпеку і користуватися мережею безпечніше.
Стаття буде довгою, і планується поділити її на три частини наразі:
Перша частина головним чином описує принцип HTTPS; Друга частина головним чином описує процес перевірки SSL-сертифікатів та деякі заходи безпеки для використання. Третя частина містить деякі випадки HTTPS-атак.
1. Що таке HTTPS?
Перш ніж говорити про HTTPS, давайте поговоримо про те, що таке HTTP — протокол, який ми зазвичай використовуємо під час перегляду вебу. Дані, що передаються протоколом HTTP, є незашифрованими, тобто у відкритому тексті, тому передача приватної інформації за допомогою протоколу HTTP дуже небезпечна. Щоб гарантувати шифрування та передачу цих приватних даних, Netscape розробила протокол SSL (Secure Sockets Layer) для шифрування даних, що передаються протоколом HTTP, що призвело до появи HTTPS. Поточна версія SSL — 3.0, яка визначена в RFC 6101 IETF (Internet Engineering Task Force), а потім оновлена SSL 3.0, що призвело до створення TLS (Transport Layer Security) 1.0, визначеної в RFC 2246. Насправді, наш нинішній HTTPS — це протокол TLS, але оскільки SSL з'явився відносно рано і досі підтримується сучасними браузерами, SSL досі є синонімом HTTPS, але незалежно від того, чи це TLS, чи SSL — це справа минулого століття, остання версія SSL — 3.0, і TLS продовжить надавати нам послуги шифрування в майбутньому. Поточна версія TLS — 1.2, визначена в RFC 5246, і поки що не широко використовується.
Для тих, хто цікавиться історією, можна звернутися до http://en.wikipedia.org/wiki/Transport_Layer_Security, який містить детальний опис TLS/SSL.
2. Чи є HTTPS безпечним?
Відповідь — так, це безпечно. У найближчі тижні Google увімкне HTTPS для всіх локальних доменів у світі, користувачам потрібно лише увійти через свій обліковий запис Google перед пошуком, а всі операції пошуку будуть зашифровані за протоколом TLS, див. http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/。
3. Як працює HTTPS
HTTPS вимагає рукостискання між клієнтом (браузером) і сервером (вебсайтом) перед передачею даних, а під час процесу рукостискання встановлюється інформація про паролі обох сторін. Протокол TLS/SSL — це не просто набір зашифрованих протоколів передачі, а й витвір мистецтва, ретельно розроблений художниками з використанням асиметричного, симетричного шифрування та алгоритмів HASH. Простий опис процесу рукостискання такий:

  • Браузер надсилає на вебсайт набір правил шифрування, які підтримує.
  • Вебсайт вибирає набір алгоритмів шифрування та HASH-алгоритмів з них і надсилає інформацію про ідентифікацію назад браузеру у вигляді сертифіката. Сертифікат містить інформацію, таку як адреса вебсайту, публічний ключ шифрування та емітент сертифіката.
  • Після отримання сертифіката вебсайту браузер робить наступне:
  • Перевірте легітимність сертифіката (чи є орган, що його видає, легітимним, чи збігається адреса сайту, що міститься в сертифікаті, і адреса, яку відвідують тощо), якщо сертифікат довірений, у панелі браузера з'явиться невелике блокування, інакше з'явиться запит, що сертифікат не є довіреним.
  • Якщо сертифікат є довіреним або користувач приймає недовірений сертифікат, браузер генерує випадкову кількість паролів і шифрує їх публічним ключем, зазначеним у сертифікаті.
  • Повідомлення про рукостискання обчислюється за узгодженим ХЕШЕМ, і повідомлення шифрується згенерованим випадковим числом, після чого вся раніше згенерована інформація надсилається на вебсайт.
   4. Після отримання даних від браузера вебсайт робить наступне:
  • Використайте власний приватний ключ для розшифрування пароля, використовуйте пароль для розшифрування повідомлення про рукостискання, надіслане браузером, і переконайтеся, що HASH збігається з тим, що надіслано браузером.
  • Повідомлення про рукостискання шифрується паролем і надсилається до браузера.
   5. Браузер розшифровує і обчислює ХЕШ повідомлення про рукостискання, якщо він узгоджується з ХЕШЕМ, надісланим сервером, процес завершування, і тоді всі комунікаційні дані будуть зашифровані випадковим паролем, згенерованим попереднім браузером із використанням симетричного алгоритму шифрування.

Тут браузер і вебсайт надсилають один одному зашифроване повідомлення про рукостискання і перевіряють, щоб переконатися, що обидві сторони отримали однаковий пароль, можуть нормально шифрувати та розшифровувати дані, а також провести тест для подальшої передачі реальних даних. Крім того, алгоритми шифрування та HASH, які часто використовуються в HTTPS, такі:
  • Асиметричні алгоритми шифрування: RSA, DSA/DSS
  • Симетричні алгоритми шифрування: AES, RC4, 3DES
  • ХЕШ-алгоритм: MD5, SHA1, SHA256
Серед них асиметричний алгоритм шифрування використовується для шифрування згенерованого пароля під час процесу рукостискання, симетричний алгоритм шифрування — для шифрування реальних переданих, а алгоритм HASH — для перевірки цілісності даних. Оскільки пароль, згенерований браузером, є ключем до шифрування всіх даних, він шифрується за допомогою асиметричного алгоритму шифрування під час передачі. Асиметричний алгоритм шифрування генерує публічні та приватні ключі, публічні ключі можна використовувати лише для шифрування даних, тому їх можна передавати за бажанням, а приватні ключі сайту використовуються для розшифрування даних, тому сайт зберігатиме приватний ключ дуже обережно, щоб уникнути витоку.
Будь-яка помилка під час процесу TLS handshake може розірвати зашифроване з'єднання, унеможливлюючи передачу приватної інформації. Саме через те, що HTTPS дуже безпечний, зловмисники не можуть знайти, з чого почати, тому використовують фальшиві сертифікати, щоб обманювати клієнтів і отримувати інформацію у відкритому тексті, але ці методи можна ідентифікувати, про що я розповім у наступній статті. Однак у 2010 році експерти з безпеки виявили вразливість у обробці протоколу TLS 1.0: http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/ насправді цей метод атаки під назвою BEAST був виявлений експертами з безпеки ще у 2002 році, але не став публічним. Microsoft і Google виправили цю вразливість. Див. http://support.microsoft.com/kb/2643584/en-us https://src.chromium.org/viewvc/chrome?view=rev&revision=90643
Спрощена версія HTTPS також працює у симетричному шифруванні проти асиметричного шифрування.




Попередній:Покрокова конфігурація для ASP.NET веб-додатків, які використовують HTTPS
Наступний:Дуже гарне вікно повідомлень SweetAlert
 Орендодавець| Опубліковано 19.04.2018 11:09:21 |
Детальне пояснення різних параметрів протоколу HTTP
http://www.itsvse.com/thread-3704-1-1.html
(Джерело: Architect_Programmer)
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com