Як працює криптографія з відкритим ключем | robot_dreams
Для отслеживания статуса заказа — авторизируйтесь
Введите код, который был выслан на почту Введите код с SMS, который был выслан на номер
 
Код действителен в течение 5 минут Код с sms действителен в течение 5 минут
Вы уверены, что хотите выйти?
Сеанс завершен
На главную
Як це працює: Криптографія з відкритим ключем

Як це працює: Криптографія з відкритим ключем

Шифрування з відкритим ключем та в протоколах TLS/SSL

Криптографія з відкритим ключем, також відома як асиметричне шифрування, базується на використанні двох криптографічних ключів: відкритого (public key) та приватного (private key). Відкритий ключ доступний для всіх, його застосовують для шифрування даних, тоді як приватний ключ залишається конфіденційним і забезпечує розшифрування.

На відміну від симетричних алгоритмів, асиметрична модель не потребує передачі секретного ключа між сторонами, що знижує ризики компрометації. Цей підхід є провідним у сучасних мережевих протоколах, зокрема в TLS/SSL, що гарантує безпеку HTTPS-з’єднань.

Криптографічні ключі: як це працює

Ключ у криптографії — це набір даних, що використовують для трансформації інформації. У випадку асиметричних алгоритмів, як-от RSA, ключі генеруються так, щоб обчислення приватного ключа на основі відкритого було майже неможливим через складність математичної задачі (наприклад, факторизації великих чисел або роботи з еліптичними кривими).

Шифрування працює за принципом:

Plaintext + відкритий ключ = ciphertext.

Ciphertext + приватний ключ = plaintext.

Припустимо, ви хочете надіслати конфіденційний код проєкту "project 123" колезі, гарантуючи, що він залишиться захищеним.

Шифрування: використовуючи публічний ключ колеги, ваше повідомлення "project 123" за допомогою математичних операцій перетворюється на зашифровану версію. Це може бути як рядок чисел, наприклад, "34 29 36 21 13 11 38 22 24 25".

Передача: зашифроване повідомлення "34 29 36 21 13 11 38 22 24 25" відправляється колезі. Якщо хтось перехопить його, то без відповідного приватного ключа не зможе розшифрувати.

Розшифрування: ваш колега застосовує приватний ключ, щоб відновити початковий текст. Приватний ключ дешифрує рядок і повертає його до "project 123".

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

TLS/SSL та використання відкритих ключів

У протоколах TLS/SSL криптографія з відкритим ключем відіграє важливу роль у встановленні захищеного з’єднання між клієнтом і сервером, послуговуючись публічними та приватними ключами для автентифікації та обміну даними.

Під час ініціації з’єднання клієнт запитує сервер і отримує його публічний ключ через SSL/TLS-сертифікат. Цей сертифікат містить відкритий ключ, що дає змогу створити захищений канал між сторонами. Сервер підтверджує свою особу, застосовуючи приватний ключ, який не передається через мережу.

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

Схематичний TLS handshake:

  • Клієнт TLS відправляє запит на з’єднання до сервера TLS.
  • Сервер TLS надсилає свій сертифікат клієнту TLS.
  • Клієнт TLS використовує свою копію сертифіката CA для перевірки сертифіката сервера, тобто автентифікації.
  • Клієнт TLS генерує випадковий симетричний ключ.
  • Клієнт TLS застосовує публічний ключ із сертифіката сервера для шифрування згенерованого симетричного ключа.
  • Клієнт TLS відправляє зашифрований симетричний ключ серверу TLS.
  • Сервер TLS задіює свій приватний ключ для розшифрування отриманого зашифрованого симетричного ключа.
  • Тепер обидва — клієнт TLS і сервер TLS — мають однаковий симетричний ключ і можуть залучати його для шифрування й розшифрування даних під час комунікації.

Далі клієнт і сервер обирають сесійний ключ за допомогою алгоритмів, як-от RSA або Діффі-Геллман. Алгоритм RSA дозволяє обмінюватися сесійними ключами через публічний/приватний ключ, що гарантує захист від дешифрування сторонніми особами. Після цього для прискорення передачі даних переходять на симетричне шифрування, наприклад, за допомогою AES.

Комбінація асиметричних і симетричних методів відповідає за високу безпеку і швидкість обробки запитів. Це дає змогу клієнтам бути впевненими у захищеності їхніх з’єднань і захисті від атак типу Man-in-the-middle чи перехоплення ключів.

Ещё статьи
Порівнюємо швидкість, якість і відповідальність за результат