Какво е Perfect Forward Secrecy?

В криптографията някои шифри могат да бъдат обозначени с акронима PFS. Това означава Perfect Forward Secrecy. Някои реализации могат просто да се отнасят към PFS като FS. Този акроним означава Forward Secrecy или Forward Secure. Във всеки случай всички те говорят за едно и също нещо. Разбирането на това какво означава Perfect Forward Secrecy изисква да разберете основите на обмена на криптографски ключове.

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

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

Забележка: Би било също така възможно, ако е невъзможно, да се използва защитен канал извън обхвата, въпреки че остава трудността при осигуряването на този канал.

За да защитите несигурен канал, се извършва процес, наречен Diffie-Hellman key exchange. При обмена на ключове на Diffie-Hellman едната страна, Алис, изпраща своя публичен ключ на другата страна, Боб. След това Боб комбинира своя частен ключ с публичния ключ на Алис, за да генерира тайна. След това Боб изпраща публичния си ключ на Алис, която го комбинира с личния си ключ, позволявайки й да генерира същата тайна. При този метод и двете страни могат да предават публична информация, но в крайна сметка генерират една и съща тайна, без изобщо да се налага да я предават. След това тази тайна може да се използва като ключ за шифроване за бърз алгоритъм за симетрично шифроване.

Забележка: обменът на ключове Diffie-Hellman не предлага изначално удостоверяване. Нападател в позиция Човек в средата или MitM може да договори защитена връзка както с Алис, така и с Боб и тихо да наблюдава дешифрованите комуникации. Този проблем се решава чрез PKI или инфраструктура с публичен ключ. В интернет това е под формата на доверени сертифициращи органи, подписващи сертификати на уебсайтове. Това позволява на потребителя да провери дали се свързва към сървъра, който очаква.

Проблемът със стандартния Diffie-Hellman

Въпреки че проблемът с удостоверяването е лесен за решаване, това не е единственият проблем. Уебсайтовете имат сертификат, подписан от сертифициращ орган. Този сертификат включва публичен ключ, за който сървърът разполага с частен ключ. Можете да използвате този набор от асиметрични ключове за сигурна комуникация, но какво се случва, ако този частен ключ някога бъде компрометиран?

Ако заинтересована, злонамерена страна искаше да дешифрира криптирани данни, щеше да се затрудни. Съвременното криптиране е проектирано по такъв начин, че ще отнеме поне много милиони години, за да има разумен шанс за отгатване на един ключ за криптиране. Една криптографска система обаче е толкова сигурна, колкото и ключът. Така че, ако атакуващият успее да компрометира ключа, да речем чрез хакване на сървъра, той може да го използва, за да дешифрира всеки трафик, за който е бил използван за криптиране.

Този въпрос очевидно има някои големи изисквания. Първо, ключът трябва да бъде компрометиран. Нападателят също се нуждае от криптиран трафик, който иска да дешифрира. За вашия средностатистически нападател това е доста трудно изискване. Ако обаче нападателят е злонамерен интернет доставчик, VPN доставчик, собственик на Wi-Fi гореща точка или национална държава, те са на добро място да уловят огромно количество криптиран трафик, който може да успеят да дешифрират в даден момент.

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

Перфектна предна секретност

Решението за това е да не използвате един и същ ключ за криптиране за всичко. Вместо това искате да използвате ефимерни ключове. Перфектната предна секретност изисква сървърът да генерира нова асиметрична двойка ключове за всяка връзка. Сертификатът все още се използва за удостоверяване, но всъщност не се използва за процеса на договаряне на ключа. Частният ключ се съхранява в паметта само толкова дълго, колкото да се договори тайната, преди да бъде изтрит. По същия начин тайната се пази само докато се използва, преди да бъде изчистена. При особено дълги сесии може дори да бъде предоговорен.

Съвет: В имената на шифри, шифрите, включващи Perfect Forward Secrecy, обикновено са обозначени с DHE или ECDHE. DH означава или Diffie-Hellman, докато E в края означава Ephemeral.

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

Като такава перфектната предна секретност осигурява широка защита срещу улавяне на пълен мрежов трафик. Въпреки че в случай на компрометиране на сървъра, някои данни може да бъдат декриптирани, това са само текущи данни, а не всички исторически данни. Освен това, след като компрометът бъде открит, проблемът може да бъде разрешен, оставяйки само относително малко количество общ трафик за целия живот, който може да бъде декриптиран от нападателя.

Заключение

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. Този инструмент може да ви спести време и