Эки ат тең AEAD курулмалары, экөө тең стандартталган, жана азыркы x86 серверинде кайсынысы болбосун көрүнүктүү күч жумшабастан гигабиттик линияны толтурат. Тандоо ал серверден чыкканда гана эркин болуудан калат: арзан роутерлерде, эски телефондордо жана виртуалдык түзүлүштөрдө AES ылдамдатуусу көп учурда жок, ал эми ал жерде айырма чоң. Ошондуктан салыштыруу кайсы шыфр тезирээк дегенде эмес, кайсы шыфр ушул акыркы чекиттер топтомуунда жакшы иштейт жана протокол таптакыр тандоо сунуштайбы дегенде.

Бир иш, башка өзөктөр

Эки курулма тең бир өтүүдө купуялуулук менен бүтүндүктү берет жана байланыштуу маалыматты аутентификациялайт, ошондуктан VPN протоколдору аларды маалымат каналы үчүн колдонушат. Айырма ичинде: AES-GCM — GF(2^128) боюнча полиномдук аутентификатору бар эсептегич режиминдеги AES блоктук шыфры, ал эми ChaCha20-Poly1305 — 256 биттик ачкычтуу агымдык шыфр, анын өзүнчө бир жолку аутентификатору бар.

Операциялык жактан маанилүүсү жалпы: экөө тең nonce кайра колдонулганда өтө оор бузулат, экөөнө тең ар бир ачкыч үчүн nonce мейкиндигин башкаруу керек, жана эч бири туура эмес нерсени аутентификациялаган өнөктөштү оңдобойт. AES-256-GCM деген профиль CHACHA20-POLY1305 дегенден коопсуз эмес; ишке ашыруу туура болсо, экөө тең күчтүү.

AES-GCM кайда жеңет

AES көпчүлүк заманбап процессорлордо атайын буйруктарга ээ: x86 де AES-NI, ARMv8 де крипто кеңейтүүлөр жана акыркы POWER менен RISC-V долбоорлорунда эквиваленттер. Алар бар болгондо GCM ар бир цикл классына бир нече блокту параллелдүү иштетет жана программалык ишке ашыруу маанисиз болуп калат. Бул серверлер, үстөл компьютерлери жана азыркы телефондор үчүн кадимки абал, ошондуктан маалымат борборунда AES колдонуңуз деген кеңеш орундуу демейки.

Көйгөй экинчи даражадагы абал. Атайын буйруктарсыз AES программалык жабдыкта жай, ал эми таблицага негизделген программалык ишке ашыруулар cache убактысынын көйгөйлөрүнүн узак тарыхына ээ. Хост конокко AES желегин көрсөтпөгөн виртуалдык машинадагы VPN концентратору так ушул абал жана хосттун процессорунда функция бар болгондуктан байкоо кыйын.

Процессор эмнени колдойт дегенди эмес, процесс чындыгында эмнени көрөт дегенди текшериңиз: Linux'то grep -o aes /proc/cpuinfo | head -1 же гипервизордун процессор моделиндеги эквивалент функция желеги.

ChaCha20-Poly1305 кайда жеңет

ChaCha20 ташымалдуу программалык жабдыкта тез, анткени ал кошуу, айландыруу жана XOR гана колдонот, ал эми анын ишке ашыруулары долбоор боюнча сырга көз каранды таблица издөөдөн качат. AES ылдамдатуусу жок түзүлүштө бул материалдык артыкчылык, ошондуктан WireGuard аны тандады: WireGuard протоколунун сүрөттөмөсү ChaCha20-Poly1305ти альтернативасыз маалымат шыфры катары көрсөтөт.

Ушул бир тандоо пайдалуу нерсе айтат: AES ылдамдатылган аппараттык жабдыкта WireGuard AES-GCMге салыштырмалуу өткөрүү жөндөмүнүн бир бөлүгүн берет, ал эми авторлору телефондордо, үй роутерлеринде жана контейнер хостторунда болжолдонуучу жүрүм-турум үчүн муну кабыл алышкан. Эгер сиздин паркыңыз негизинен кичинекей ARM кутучалары болсо, бул алмашуу сиздин пайдаңызга.

Кайтары абал — бош эмес x86 концентратору, ал жерде AES-NI менен AES-GCM тезирээк жана жакшыраак колдоого алынган жол, ал эми ChaCha20 ар бир гигабитке өлчөнүүчү процессор жумшайт. Эки курулманын эч бири алсыздык эмес; суроо — сиздин аппараттык жабдыгыңыз кайсынысын арзан аткарат.

Протоколуңуз чындыгында эмнени тандоого мүмкүндүк берет

ProtocolWhat you get
WireGuardChaCha20-Poly1305 only; no negotiation
OpenVPN 2.5 and laterData channel negotiated from data-ciphers: AES-256-GCM, AES-128-GCM, CHACHA20-POLY1305
IPsec / IKEv2AES-GCM as a combined-mode transform, or ChaCha20-Poly1305 where both peers implement it
OpenVPN control channelTLS decides; TLS 1.3 offers AES-GCM and ChaCha20-Poly1305 suites

OpenVPNдеги бөлүнүүгө көңүл буруңуз: башкаруу каналы менен маалымат каналы өзүнчө сүйлөшүлөт, ошондуктан TLS үчүн көргөн топтомуңуз жүгүңүздү коргогон шыфр жөнүндө эч нерсе айтпайт. Сессия корутундусу экөөнү тең билдирет, ал эми экөөнүн бирөөнү гана окуу — чаташуунун кадимки булагы.

OpenVPNде маалымат каналынын шыфры эки учтагы data-ciphers тизмесинен келет. Эгер сервердин тизмеси менен кардардын тизмеси кесилишпесе, байланыш data-ciphers-fallback уруксат берген нерсеге чегинет же толугу менен ишке ашпайт, ал эми бул ийгиликсиздик көбүнчө туура эмес катмарга тагылат. Эки тарапка бирдей тизме коюңуз, анан тизменин тартиби сакталды деп божомолдоонун ордуна сүйлөшүлгөн жыйынтыкты журналда ырастаңыз.

Жайгаштыруу жөнүндөгү үч фактыга таянып чечиңиз

Биринчиден, акыркы чекиттерде AES ылдамдатуусу барбы? Эгер ар бир өнөктөштө болсо, AES-GCM арзаныраак тандоо жана көпчүлүк тейленген конфигурацияларда демейки. Эгер олуттуу үлүшү кичинекей роутерлер же эски телефондор болсо, ChaCha20-Poly1305 парктын куйругун сыйымдуулук чегине айлануудан сактайт.

Экинчиден, протокол таптакыр тандоо сунуштайбы? WireGuard менен чечим сиздин ордуңузга кабыл алынган, ал эми пайдалуу иш — айланасындагы куралдар үнсүз башка нерсени койбой жатканын текшерүү. OpenVPN жана IPsec менен жооп — конфигурация сабы жана жазылуучу сүйлөшүлгөн жыйынтык.

Үчүнчүдөн, эки тарап макулдаша алабы? Бир өнөктөш ишке ашырбаган шыфр — бул аткаруу чечими эмес, бул үзгүлтүк. Ошондуктан өнөктөштөрдүн тизмеси каалаган өлчөөдөн маанилүү: аралаш паркка мүмкүнчүлүктөрдүн кесилиши керек, эң тез машинанын каалоосу эмес.

Эгер өлчөсөңүз, түзүлүштү, акыркы чекитти жана жүктү бирдей кармап, бир нерсени өзгөртүңүз. Ар кайсы аймактардагы эки серверди салыштырган сынак маршрутту өлчөйт, шыфрды эмес, ал эми ноутбуктагы өлчөө процессордук желеги жашырылган контейнер хост жөнүндө эч нерсе айтпайт. Салыштырыңыз, анан кайсы шыфр чындыгында сүйлөшүлгөнүн жазып коюңуз: бул жазуу өлчөөдөн кымбат.

Тектеш макалалар