Нова имплементација ВПН ВиреГуард додата је ФрееБСД кодној бази

Изворно стабло ФрееБСД-а је ажурирано новом имплементацијом ВПН ВиреГуард-а, заснованом на коду модула језгра који су заједнички произвели главни развојни тимови ФрееБСД-а и ВиреГуард-а уз доприносе Џејсона А. Доненфелда, аутора ВПН ВиреГуард-а и Џона Х. Болдвина), познати програмер ГДБ-а и ФрееБСД-а, који је имплементирао подршку за СМП и НУМА у ФрееБСД кернел почетком 2000-их. Након што драјвер буде прихваћен у ФрееБСД (сис/дев/вг), његов развој и одржавање ће се од сада обављати у ФрееБСД спремишту.

Пре него што је код прихваћен, извршена је потпуна ревизија промена уз подршку ФрееБСД фондације, током које је такође анализирана интеракција драјвера са остатком подсистема кернела и могућност коришћења криптографских примитива које пружа кернел. је оцењено.

За коришћење криптографских алгоритама које захтева драјвер, проширен је АПИ крипто-подсистема ФрееБСД кернела, коме је додат појас који омогућава коришћење алгоритама који нису подржани у ФрееБСД-у преко стандардног крипто-АПИ, користећи имплементацију неопходни алгоритми из библиотеке либсодиум. Од алгоритама уграђених у драјвер, остао је само код за израчунавање Блаке2 хеша, пошто је имплементација овог алгоритма обезбеђена у ФрееБСД-у везана за фиксну величину хеша.

Поред тога, током процеса прегледа је извршена оптимизација кода, што је омогућило повећање ефикасности дистрибуције оптерећења на вишејезгарним ЦПУ-има (обезбеђена је униформна равнотежа доделе задатака шифровања и дешифровања пакета језграма ЦПУ-а). Као резултат тога, додатни трошкови приликом обраде пакета били су блиски онима у имплементацији Линук драјвера. Код такође пружа могућност коришћења оссл драјвера за убрзавање операција шифровања.

За разлику од претходног покушаја да се интегрише ВиреГуард у ФрееБСД, нова имплементација користи стандардни вг услужни програм, а не модификовану верзију ифцонфиг, што омогућава обједињавање конфигурације на Линук-у и ФрееБСД-у. Вг услужни програм, као и драјвер, укључени су у ФрееБСД изворни код, што је омогућено променом лиценце за вг код (код је сада доступан под лиценцама МИТ и ГПЛ). Последњи покушај укључивања ВиреГуард-а у ФрееБСД направљен је 2020. године, али је завршио скандалом, услед чега је већ додани код уклоњен због лошег квалитета, немарног рада са баферима, употребе стубова уместо провера, непотпуне имплементације протокола и кршење ГПЛ лиценце.

Подсетимо, ВПН ВиреГуард је имплементиран на бази савремених метода шифровања, пружа веома високе перформансе, једноставан је за коришћење, без компликација и доказао се у низу великих имплементација које обрађују велике количине саобраћаја. Пројекат се развија од 2015. године, и прошао је ревизију и формалну верификацију коришћених метода шифровања. ВиреГуард користи концепт рутирања кључева за шифровање, који укључује прикључивање приватног кључа на сваки мрежни интерфејс и његово коришћење за повезивање јавних кључева.

Јавни кључеви се размењују да би се успоставила веза на сличан начин као ССХ. За преговарање о кључевима и повезивање без покретања посебног демона у корисничком простору, користи се механизам Ноисе_ИК оквира Ноисе Протоцол, слично одржавању аутхоризед_кеис у ССХ-у. Пренос података се врши енкапсулацијом у УДП пакете. Подржава промену ИП адресе ВПН сервера (роминг) без прекида везе са аутоматском реконфигурацијом клијента.

Шифровање користи ЦхаЦха20 стреам шифру и Поли1305 алгоритам за аутентификацију поруке (МАЦ), који су развили Даниел Ј. Бернстеин, Тања Ланге и Петер Сцхвабе. ЦхаЦха20 и Поли1305 су позиционирани као бржи и сигурнији аналоги АЕС-256-ЦТР и ХМАЦ, чија софтверска имплементација омогућава постизање фиксног времена извршења без употребе посебне хардверске подршке. За генерисање заједничког тајног кључа, Диффие-Хеллман протокол елиптичке криве се користи у имплементацији Цурве25519, коју је такође предложио Даниел Бернстеин. За хеширање се користи БЛАКЕ2с алгоритам (РФЦ7693).

Извор: опеннет.ру

Додај коментар