Що таке ідеальна передня секретність?

У криптографії деякі шифри можуть позначатися акронімом PFS. Це розшифровується як Perfect Forward Secrecy. Деякі реалізації можуть просто називати PFS FS. Ця абревіатура означає Forward Secrecy або Forward Secure. У всякому разі, всі вони говорять про одне й те саме. Розуміння того, що означає Perfect Forward Secrecy, вимагає від вас розуміння основ обміну криптографічним ключем.

Основи криптографії

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

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

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

Примітка. Обмін ключами Diffie-Hellman спочатку не пропонує жодної автентифікації. Зловмисник у позиції «Людина в центрі» або «MitM» міг домовитися про безпечне з’єднання з Алісою та Бобом і тихо контролювати розшифровані комунікації. Ця проблема вирішується за допомогою PKI або інфраструктури відкритих ключів. В Інтернеті це відбувається у формі довірених центрів сертифікації, які підписують сертифікати веб-сайтів. Це дозволяє користувачеві перевірити, чи він підключається до очікуваного сервера.

Проблема зі стандартом Діффі-Хеллмана

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

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

Це питання, очевидно, має великі вимоги. По-перше, ключ потрібно зламати. Зловмиснику також потрібен будь-який зашифрований трафік, який він хоче розшифрувати. Для звичайного зловмисника це досить складна вимога. Проте, якщо зловмисник є зловмисним інтернет-провайдером, провайдером VPN, власником точки доступу Wi-Fi або державою, вони знаходяться в хорошому місці для захоплення величезних обсягів зашифрованого трафіку, який вони можуть розшифрувати в якийсь момент.

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

Ідеальна передня секретність

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

Порада: у назвах шифрів шифри з ідеальною прямою секретністю зазвичай позначаються DHE або ECDHE. Літера DH означає Діффі-Хеллмана, тоді як E в кінці означає Ефемерний.

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

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

Висновок

Perfect Forward Secrecy — це інструмент для захисту від повного історичного стеження. Зловмисник, здатний збирати та зберігати величезну кількість зашифрованих повідомлень, може розшифрувати їх, якщо коли-небудь отримає доступ до закритого ключа. PFS гарантує, що кожен сеанс використовує унікальні ефемерні ключі. Це обмежує можливість зловмисника розшифрувати «лише» поточний трафік, а не весь історичний трафік.


Як клонувати жорсткий диск

Як клонувати жорсткий диск

У сучасну цифрову епоху, коли дані є цінним активом, клонування жорсткого диска в Windows може бути вирішальним процесом для багатьох. Цей вичерпний посібник

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Ви стикаєтеся з повідомленням про помилку під час завантаження комп’ютера, у якому йдеться про те, що драйвер WUDFRd не вдалося завантажити на ваш комп’ютер?

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Ви відчуваєте код помилки NVIDIA GeForce 0x0003 на робочому столі? Якщо так, прочитайте блог, щоб дізнатися, як швидко та легко виправити цю помилку.

Що таке SMPS?

Що таке SMPS?

Перш ніж вибрати SMPS для свого комп’ютера, дізнайтеся, що таке SMPS і значення різних показників ефективності.

Чому мій Chromebook не вмикається

Чому мій Chromebook не вмикається

Отримайте відповіді на запитання «Чому мій Chromebook не вмикається?» У цьому корисному посібнику для користувачів Chromebook.

Як повідомити Google про фішинг

Як повідомити Google про фішинг

Дізнайтеся, як повідомити про шахрая в Google, щоб запобігти йому обманювати інших за допомогою цього посібника.

Roomba зупиняється, залипає та розвертається – виправлення

Roomba зупиняється, залипає та розвертається – виправлення

Вирішіть проблему, коли ваш робот-пилосос Roomba зупиняється, залипає та продовжує обертатися.

Як змінити налаштування графіки на Steam Deck

Як змінити налаштування графіки на Steam Deck

Steam Deck пропонує надійний і універсальний ігровий досвід прямо у вас під рукою. Однак, щоб оптимізувати вашу гру та забезпечити найкраще

Що таке безпека на основі ізоляції?

Що таке безпека на основі ізоляції?

Я збирався заглибитися в тему, яка стає все більш важливою у світі кібербезпеки: безпека на основі ізоляції. Такий підхід до

Як використовувати Auto Clicker для Chromebook

Як використовувати Auto Clicker для Chromebook

Сьогодні я збирався заглибитися в інструмент, який може автоматизувати повторювані завдання на вашому Chromebook: Auto Clicker. Цей інструмент може заощадити ваш час і