Екі профиль бір шлюзде сыналады, біреуі шифрлаумен, екіншісі онсыз, және шифрланған баяу емес. Кейде ол жылдамырақ, бұл әдетте сынақ дұрыс жүргізілді ме деген ұзақ дауға әкеледі. Нәтиже сенімді, өйткені пакеттің құны конфигурациядағы криптографиялық сөздердің саны емес. Ол — іске асыру орындайтын операциялар жиынтығы, оның қолындағы аппараттық құралда, өзі таңдаған буфер орналасуы бойынша.

Симптом: баяу — шифрланған профиль емес

Тарихи сынақ AEAD шифрын «шифрлаусыз» режиммен салыстырсын, ол әлі де әр пакет үшін жеке аутентификация кодын есептейді. Екінші профиль пайдалы жүктеменің мазмұнын жасырады, бірақ пакеттік хэшті сақтайды, және сол хэш үшін жеделдетуі жоқ процессорда ол жеңуі тиіс біріктірілген құрылымнан қымбатырақ болуы мүмкін.

Конфигурациядағы белгі «шифрлау» дейді, және белгі — көптеген салыстырулар тек соған қарайды. Пакет жолы басқа нәрсе дейді: бір профиль процессорда нұсқаулары бар біріккен операцияны орындайды, ал екіншісі нұсқаулары жоқ жеке операцияны орындайды. Тек конфигурация файлын оқу бұл айырмашылықты ешқашан ашпайды, өйткені екі жазба да бір жол сияқты көрінеді. Нәтижені тек келісілген режим және оның артындағы код жолы түсіндіреді.

Бұл — толық түсіндірме, және ол қай примитив әмбебап түрде жылдамырақ деген ешбір тұжырымды талап етпейді. Екеуі де жылдам болуы мүмкін, екеуі де баяу болуы мүмкін, ал рет машина мен кодқа байланысты.

Белгілерді емес, операцияларды санаңыз

AEAD құрылымы, RFC 5116 сипаттағандай, іске асыруға шифрмәтінді және тегті бірге қайтаратын бір интерфейс береді. AES-GCM — бір мысал: санауыш режиміндегі шифрлау Galois аутентификаторымен біріктірілген. Интерфейс тұтастықты тегін етпейді; ол комбинацияны нақты анықталған етеді, және дәл осы іске асыруға жұпты бір бірлік ретінде оңтайландыруға мүмкіндік береді.

Separate authentication path:
  payload -> independent HMAC -> framed packet

AEAD path:
  payload -> authenticated encryption with tag -> framed packet

Бұлар — өңдеу нобайлары, конфигурация кеңесі емес. Біріншісінде құпиялылық жоқ, бірақ ол әлі де процессорды аутентификацияға жұмсайды, және дәл сондықтан «шифрлауды өшір» «криптографиялық жұмысты өшір» дегеннің синонимі емес.

Екіншісі арзанырақ болуы мүмкін, өйткені процессорлар екі жарты үшін де нұсқаулар береді: AES раундтары және Galois өрісі қолданатын тасымалсыз көбейту. Кітапханалар тәуелсіз буферлерді қатар өңдейді, бұл нұсқауларды жадты күтудің орнына жұмыспен қамтып ұстайды.

Келісілген режим шын мәнінде нені мүмкін етеді

Community OpenVPN кезінде AEAD деректер шифры auth опциясының өз жеке деректер арнасының HMAC-ын енді қоспайтынын білдіреді. Шифрлау опциясының анықтамасы сол ауқымды сипаттайды, және мәтіндік файлда ұқсас көрінетін екі конфигурацияның пакеттік жұмыста ерекшеленуінің себебі де осы.

Тілектер тізімін емес, келісілген режимді оқыңыз. Рұқсат етілген шифрлар тізімі мен TLS жинағының атауы пайдалы жүктемеде қандай операциялар жүретінін айтпайды, ал ескі cipher жолы ағымдағы қосылымның нені таңдағанын сипаттамауы мүмкін.

openvpn --show-ciphers | head -20
sudo grep -E 'cipher|auth' /etc/openvpn/server.conf

Бірінші команда бинарлық қолдайтын шифрларды тізімдейді, бұл мүмкіндіктер тізімі, келісілген нәтиже емес. Екіншісі сервердің шын мәнінде нені сұрайтынын көрсетеді. Қосылым журналы — түпкілікті таңдауды растайтын орын, өйткені клиент сервер рұқсат ететін, бірақ ешкім ойламаған нәрсеге түсіп қалуы мүмкін.

Шын мәнінде іске қосатын жүктемені өлшеңіз

Криптографиялық микроөлшем примитивті өз шарттарында өлшейді. VPN тасымалы буферлерді де көшіреді, ағындарды немесе үзілістерді жоспарлайды, саясатты тексереді және желіден өтеді. Осы бөліктер жиі басым болады, сондықтан жылдамырақ примитив әрдайым жылдамырақ туннель бермейді.

openssl speed -evp aes-256-gcm
openssl speed -evp sha1

Бұл екі команда сізге алдыңыздағы машинадағы примитивтердің дөрекі жергілікті салыстыруын береді және микроөлшем екендігі туралы адал. Олар туннеліңіздің өткізу қабілеті туралы ештеңе айтпайды және оларды ешқашан сол ретінде дәйексөздеуге болмайды.

Содан кейін маңызды жүктемені өлшеңіз, қалғанын тұрақты ұстап: сол соңғы нүкте, сол пакет өлшемдері, сол көлік, сол қысу саясаты. Егер профиль өзгерісі көлікті немесе өңдеу орнын да өзгертсе, нәтиже сол буманы сипаттайды, криптографияны емес.

Мақсатты да көз алдыңызда ұстаңыз. Бос криптографиялық қуаты бар деректер жолы әлі де кідіріспен шектелуі мүмкін, өйткені қолданба барыс-келістерді күтеді, ал жаппай қуат ұтысы сөйлегіш хаттаманы түзетпейді. Қолдау көрсетілген және саясатпен мақұлданған конфигурацияны тұтас өлшеңіз, және «қорап аз болса, жылдамырақ болуы керек» дегенді оның қандай гипотеза екеніндей қабылдаңыз. Пайдалы сұрақ — шифрлау бірдеңеге тұра ма, жоқ па, емес, құн сізге шын мәнінде маңызды өлшемде көріне ме, жоқ па.

Қатысты мақалалар