Devs Hive
Повернутися до всіх запитань

Що таке симетричний і асиметричний ключ в шифруванні?

Junior/Middle/SeniorSecurity
Зустрічали на інтервʼю:0 користувачів

Це питання часто виникає під час розмов про автентифікацію/авторизацію, різницю між HTTP та HTTPS, а також про TLS. Нижче коротко розберемо, чим відрізняються симетричні та асиметричні ключі, а також їхні переваги та недоліки.

Симетричний ключ

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

Очевидним недоліком такого підходу є безпека. Обидві сторони(шифрування і розшифрування) мають отримати один і той самий ключ, але якщо передати його небезпечно зловмисник зможе читати всі повідомлення, зашифровані цим ключем. З цим можна боротись і найчастіше використовують 2 підходи:

  1. Використання асиметрії, щоб отримати спільний симетричний ключ.
  2. Використання сторонніх сервісів для керування ключами, наприклад AWS KMS, GCP KMS, Azure Key Vault…

Асиметричний ключ

Асиметричне шифрування - це коли ми використовуємо пару ключів для шифрування(публічний) і розшифрування(приватний) даних. Він має рід переваг над симетричним шифруванням, завдяки кращій безпеці та гнучкості.

Те як працює пара public/private ключів - це окреме запитання яке ви точно почуєте на інтервʼю тому ми винесли його в окреме запитання. Ось тут можеш ознайомитись з ним.

Недоліки в такого підходу теж є, наприклад:

  1. З точки зору CPU, асиметричне шифрування набагато дорожче і це проблема при великих обʼємах даних тому зазвичай асиметрію використовують для обміну секретом. А для самого процесу шифрування/розшифрування використовують симетрію.
  2. Key management при такому підході доволі складна задача. Тому реалізацію ротації, відкликання ключів, контролю доступу…здебільшого перекидають на third party по типу AWS KMS.

Зустрічав на інтервʼю?

Коментарі (0)

Увійдіть, щоб залишити коментар

Поки що немає коментарів. Будьте першим!