Боднаправлені канали як у захисних рівнях транспортного шару (TLS), так і протоколах Secure Shell (SSH) обробляють шифрування та дешифрування даних за допомогою комбінації ключових обмінів, алгоритмів шифрування та методів управління сеансами, які забезпечують безпечне спілкування в обох напрямках між клієнтом та сервером.
шифрування та дешифрування TLS TLS
TLS розроблений для забезпечення конфіденційності та цілісності даних, що обмінюються між двома комунікаційними сторонами по мережі, наприклад, клієнт та сервер. Його двонаправлені канали дозволяють надійно обмінюватися даними в обох напрямках одночасно шляхом використання декількох криптографічних процесів:
- Ключовий обмін та автентифікація: рукостискання TLS починається з обох сторін, які домовляються про криптографічні параметри, щоб встановити спільні ключі, не передаючи їх безпосередньо. Алгоритми криптографії з відкритим ключем, такі як RSA, Diffie Hellman (DH), ефемерна дифе Хеллман (DHE), еліптична крива Діффі Хеллман (ecdhe), а інші використовуються для того, щоб забезпечити спільний секретний ключ. Цей ключ не надсилається безпосередньо через мережу, але виходить незалежно обох сторін після обміну необхідними суспільними цінностями. Під час цього рукостискання сервер зазвичай автентифікується клієнту за допомогою сертифіката, робиться необов'язково взаємна аутентифікація. Рукостискання також погоджується на шифрових наборах, які диктують алгоритми шифрування, що використовуються для масового шифрування даних. Цей процес забезпечує як аутентифікацію, так і секретність у ключовому етапі угоди.
- Симетричне шифрування для передачі даних: Після встановлення спільного секретного ключа через рукостискання TLS перемикається на симетричне шифрування для захисту фактичних повідомлень, обмінених на сеансі. Оскільки алгоритми симетричного шифрування є обчислювально ефективними, вони дозволяють шифрувати та дешифрувати в реальному часі в обох напрямках. Поширені симетричні алгоритми шифрування, що використовуються в TLS, включають AES (розширений стандарт шифрування), Chacha20 та інші. Обидві сторони використовують один і той же ключ сеансу для шифрування вихідних та розшифрованих потоків даних, що забезпечують двонаправлену конфіденційність.
- Цілісність та автентифікація даних: TLS інтегрує коди автентифікації повідомлень (MACS) або аутентифіковані режими шифрування, як AES-GCM (Galois/Loder), щоб забезпечити цілісність та автентичність повідомлень. Це гарантує, що будь -яка підробка або підробка повідомлень у будь -якому напрямку буде виявлена.
- Двонаправлена природа: канали TLS за своєю суттю є двонаправленими, тобто обидві кінцеві точки можуть одночасно надсилати та отримувати зашифровані дані. Процеси шифрування та дешифрування відображаються на обох кінцях за допомогою встановлених симетричних клавіш, що дозволяє безшовно, захистити двосторонні комунікації.
- Секретність вперед: Сучасні варіанти TLS використовують ефемерні клавіші з DHE або ECDHE, які встановлюють клавіші сеансу, які забезпечують вперед таємницю. Це означає, що навіть якщо довгострокові ключі будуть порушені, минулі сеанси зв'язку залишаються захищеними.
- Відновлення сеансу: Для підвищення ефективності протягом повторних сеансів TLS підтримує відновлення сеансу, де попередні ключі або ідентифікатори сеансу повторно використовуються, щоб уникнути повного рукостискання, зберігаючи безпеку, що стосується двонаправленого зашифрованого потоку даних.
Шифрування та дешифрування SSH SSH
SSH надає безпечний віддалений вхід та інші безпечні мережеві послуги через небезпечну мережу. Його двонаправлені канали також забезпечують, щоб дані зашифровували та дешифровані надійно при відправці, так і прийому:
- Протокол обміну ключами: Подібно до TLS, SSH починається з ключового механізму обміну для створення спільного секретного ключа, що використовується для шифрування сеансу. Він зазвичай використовує алгоритм обміну ключами Diffie-Hellman. Сервер представляє свій загальнодоступний ключ хоста, який клієнт підтверджує автентифікацію сервера перед тим, як продовжувати. Потім обидві сторони використовують узгоджені алгоритми для створення спільного секретного ключа незалежно.
- Асиметрична криптографія для аутентифікації: на відміну від симетричного шифрування, що використовується для об'ємних даних, асиметричні клавіші в SSH спеціально служать цілям аутентифікації. Приватні ключі в цих асиметричних парах залишаються секретними і використовуються для підтвердження ідентичності, але шифрове шифрування даних використовує симетричні клавіші.
- Симетричне шифрування комунікацій: Після фаз обміну ключами та фазами аутентифікації SSH переходить на симетричні алгоритми шифрування для безпечної передачі даних по двонаправленому каналу. SSH підтримує кілька симетричних сиферів, таких як AES, 3DES, Blowfish, Cast128 та Arcfour. І клієнт, і сервер використовують один і той же ключ для шифрування вихідних даних та розшифровки вхідних даних, що дозволяє забезпечити бездушне спілкування.
- Цілісність та стиснення: Щоб переконатися, що повідомлення не підробляються в транзиті, SSH застосовує криптографічні хеш -функції для створення кодів аутентифікації повідомлень (MAC) або використовує аутентифіковані режими шифрування. Крім того, для підвищення ефективності передачі може застосовуватися стиснення.
- Функціональність двонаправлених каналів: SSH -з'єднання створює захищені тунелі або канали, які є двонаправленими, підтримуючи одночасне надсилання та отримання даних із шифруванням та дешифруванням, що виникають симетрично як на сторонах клієнта, так і на сервері. Це дозволяє захистити виконання команд, перекази файлів (через SFTP) та переадресацію порту, що переносяться через зашифровані канали.
- Керування потоком та поводження з помилками: канали SSH включають механізми управління потоком, які керують швидкістю передачі даних в обох напрямках, коригуванням умов мережі та забезпечення надійного зв'язку.
спільні характеристики двонаправлених каналів TLS та SSH
- Обидва використовують початкове рукостискання для надійно зашифровані ключі сеансу, не піддаючи їх потенційним підслуховуванню.
- Симетричне шифрування використовується для ефективності шифрування та розшифровки даних масового зв'язку після встановлення ключа сеансу.
- Обидва застосовують методи аутентифікації повідомлень для забезпечення конфіденційності, цілісності та справжності даних в обох напрямках.
-Вони підтримують повнометражний, одночасний двосторонній потік даних у захищених зашифрованих тунелях.
- Використання алгоритмів, які можуть забезпечити таємницю вперед, забезпечуючи, щоб минулі комунікації залишалися захищеними, навіть якщо довгострокові ключі будуть порушені.
- Обидва протоколи домовляються та погоджуються на алгоритми шифрування та ключові тривалість на початку сеансу.
- Двонаправлений характер цих протоколів гарантує, що повідомлення про помилки, повторне повідомлення та управління потоком також можна надійно обміняти.