HTTPS: внутрішній устрій і поштові голуби

  1. Давайте ж дізнаємося, що таке HTTPS і криптографія.

HTTPS грає ключову роль в забезпеченні безпеки сучасного інтернету, передачі даних, спілкування і здійснення покупок.

Давайте ж дізнаємося, що таке HTTPS і криптографія.

криптографія може бути важким предметом для розуміння, т. к. містить масу математичних дій. Але якщо ви не розробляєте свій програмний продукт з використанням криптографічних систем, вам не потрібно занадто заглиблюватися в нетрі мат. аналізу і інтегральних обчислень.

Якщо ви очікуєте в цій статті побачити якесь нововведення або опис свіжої версії HTTPS, далі можете не читати. В іншому випадку стаття буде вам корисна.

Будь-яка активність, яку ви робите (листування, покупки на Алі або лайки в улюбленої соціальної мережі), заснована на передачі і отриманні повідомлень сервером.

Щоб додати веселощів в розповідь - уявіть, що ці повідомлення доставляють поштові голуби. Це може здатися дивним, але, повірте, все саме так і працює, хоча і в багато разів швидше.

Це може здатися дивним, але, повірте, все саме так і працює, хоча і в багато разів швидше

Замість того, щоб розповідати про хакерів і клієнт-серверній архітектурі, поговоримо про Еліс, Бобі і Меллорі - частих персонажах технічної літератури.

Уявімо, що Еліс хоче відправити повідомлення Бобу. Вона прив'язує до лапи голуба конверт і відправляє його до Бобу. Боб отримує лист, читає, і всі щасливі.

Але що, якщо Меллорі перехопить голуба Еліс, змінить її повідомлення в конверті і відправить голуба далі до Бобу? Боб ніяк не дізнається, що повідомлення, яке відправила Еліс, було змінено.

Боб ніяк не дізнається, що повідомлення, яке відправила Еліс, було змінено

Ось так небезпечно виглядає робота протоколу HTTP. Я думаю, ви не погодитеся відправляти свої банківські реквізити по такому каналу.

Тепер, після останнього випадку з Меллорі, Еліс і Боб вирішують вести переписку зі спеціальним ключем. Вони будуть зміщувати кожну букву на три позиції в алфавіті. Наприклад: Г → A, Д → Б, Е → В. Підсумкове повідомлення, що минув таємний ключ, має вигляд: "млкалеййемляекев".

Тепер, якщо Меллорі перехопить голуба і спробує щось змінити або зрозуміти сенс, у неї нічого не вийде, т. К. Вона не знає таємного ключа. Але це зможе зробити Боб за допомогою перестановки символів в правильній послідовності, і зашифроване повідомлення "млкалеййемляекев" перетворюється в "програмування".

Таке шифрування називається симетричним тому, що якщо ви знаєте, як зашифрувати повідомлення, ви також знаєте, як його розшифрувати. Приклад шифрування, яким користувалися Еліс і Боб, носить назву "Шифр Цезаря". У реальному житті використовуються набагато більш складні алгоритми, але зміст залишається тим же.

Симетричне шифрування - дуже корисний і безпечний інструмент, якщо ніхто, крім отримувача та відправника, не знає ключа. У шифруванні Цезаря Еліс використовувала зміщення на 3 позиції, але могла і на 9 пересунути. Як Боб дізнається, на яку кількість символів Еліс зрушила оригінал? Якщо відправляти ключ з тим же голубом, то Меллорі при перехопленні отримає шифр і ключ. Дії Меллорі називаються атакою "Людина посередині".

Еліс і Боб придумали інший спосіб, уберегтися від Меллорі:

  • Боб відправляє голуба без повідомлення;
  • Еліс відправляє у відповідь голуба з шухлядкою і замком;
  • Боб кладе лист в ящик, і замикає її;
  • Еліс отримує ящик і відкриває його своїм ключем.

Боб відправляє голуба без повідомлення;   Еліс відправляє у відповідь голуба з шухлядкою і замком;   Боб кладе лист в ящик, і замикає її;   Еліс отримує ящик і відкриває його своїм ключем

Цього разу Меллорі не зможе підмінити повідомлення, т. К. У неї немає ключа від шухлядки.

Еліс і Боб використовують те, що називається асиметричною криптографією. З технічної точки зору, закритий ящик - це public key, а ключ від ящика - це private key.

Як ви вже помітили, ми все ще маємо проблему. Коли Боб отримує голуба, як він може бути впевнений, що він прийшов від Еліс, а Меллорі НЕ перехопила його?

Еліс придумала ще одну схему: ставити на ящик підпис. Коли Боб отримає ящик, він побачить цей підпис, і буде впевнений, що саме Еліс його послала.

Але тут виникає ще одна проблема - як Боб ідентифікує підпис Еліс, якщо він не бачив її підпис до цього? Для вирішення завдання Еліс підключила Теда. Тед - це шанована людина, якому всі довіряють. Він пообіцяв підписувати своїм підписом ящики тільки перевірених людей.

Тед буде підписувати ящик для Еліс, якщо вона прийде особисто. Тепер Меллорі не зможе перехопити ящик і підписати його у Теда, т. К. Він знатиме, що це не Еліс прийшла.

З технічної точки зору, Тед - центр сертифікації. Браузер, в якому ви переглядаєте статтю, поставляється з набором підписів різних центрів сертифікації. Тому, коли ви підключаєтеся до будь-якого сайту вперше, ви довіряєте його скриньки, т. К. Тед сказав, що йому можна довіряти.

Тепер у хлопців є надійна система для спілкування, але голуб з ящиком набагато повільніше, ніж голуб з повідомленням. Тому, вони вирішили використовувати ящик (асиметрична криптографія) тільки для визначення ключа шифрування за допомогою симетричною криптографії (пам'ятаєте метод Цезаря?). Таким чином, вони отримують надійність асиметричною і ефективність симетричною криптографії, а це і є основа HTTPS.

Тепер ви дізналися, як працює HTTPS. Переклад на російську здійснений Бібліотекою Програміста.

оригінал статті

Але що, якщо Меллорі перехопить голуба Еліс, змінить її повідомлення в конверті і відправить голуба далі до Бобу?
Як Боб дізнається, на яку кількість символів Еліс зрушила оригінал?
Коли Боб отримує голуба, як він може бути впевнений, що він прийшов від Еліс, а Меллорі НЕ перехопила його?
Але тут виникає ще одна проблема - як Боб ідентифікує підпис Еліс, якщо він не бачив її підпис до цього?
Пам'ятаєте метод Цезаря?

Мерлин (Merlin)

Сериал Мерлин, 1 сезон, 13 серия
Здраствуйте! Хотел бы поговорить о фильме "Мерлин". Скажу честно - поначалу не хотел его смотреть. Думал, будет скучно, да и еще что-то с историей связано. Но посмотрев пару серий я втянулся

Сериал Мерлин, 2 сезон, 1 серия
Здраствуйте! Хотел бы поговорить о фильме "Мерлин". Скажу честно - поначалу не хотел его смотреть. Думал, будет скучно, да и еще что-то с историей связано. Но посмотрев пару серий я втянулся

Сериал Мерлин (Merlin) — это экранизация захватывающей книги о Короле Артуре, по легенде живший во времена магии и волшебства. Телеканал BBC постарался максимально передать атмосферу тех времён — идеально подобранные актеры, десятки сценаристов, работающих над адаптацией истории к кинематографу, потрясающие декорации и дорогостоящие костюмы и платья — всё это увлекает зрителя и позволяет прочувствовать историю былых времён..

Это лишь начало приключений юного Мерлина и принца Артура, чьи судьбы с этого момента будут крепко связаны. Впоследствии один из них станет самым могущественным и известным чародеем, другой — доблестным рыцарем и великим королем Альбиона…

Это удивительная история юного мага, который в впоследствии становится одним из самых могущественных и известных волшебников из тех, кто когда либо жил на земле…